avatar
文章
319
标签
29
分类
0

Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About
The Blog of Monoceros406
搜索
Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About

The Blog of Monoceros406

OpenSSL入门-SM2实践
发表于2024-12-11|OpenSSL
OpenSSL入门-SM2实践MIRACL下载MIRACL:https://github.com/miracl/MIRACL ,打开x64 Native Tools Command Prompt for VS 2022,工作目录改为source下,并将include目录内所有文件拷贝到source目录下,并运行../lib/ms64doit_cpp.bat。于是在source目录下生成miracl.lib,接下来工程需要链接该.lib。 SM2加密需要复制来miracl.h和mirdef.h头文件。 test.c: 1234#include "SM2_ENC.h"void main() { SM2_ENC_SelfTest();} SM2_ENC.c: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 ...
OpenSSL入门-SSL-TLS编程实战
发表于2024-12-11|OpenSSL
OpenSSL入门-SSL-TLS编程实战入门用SSL_library_init、OpenSSL_add_ssl_algorithms或SSLeay_add_ssl_algorithms初始化SSL算法库,调用SSL系列函数前必须先调用一个: 123int SSL_library_init(); //成功1 否则0#define OpenSSL_add_ssl_algorithms() SSL_library_init()#define SSLeay_add_ssl_algorithms() SSL_library_init() 用SSL_CTX_new和SSL_CTX_free分别初始化和释放SSL上下文环境变量。 123456SSL_CTX* SSL_CTX_new( SSL_METHOD* meth //使用的SSL协议算法); //成功返回指针 否则NULLvoid SSL_CTX_free( SSL_CTX* ctx); 其中参数meth可以是: 12345678SSLv2_server_method();SSLv2_client_method();SSLv3 ...
OpenSSL入门-PKI实战
发表于2024-12-10|OpenSSL
OpenSSL入门-PKI实战入门需要准备三台电脑:根CA主机、子CA主机和客户主机,下面先搭建根CA主机和子CA主机: 先查看防火墙,若开启则要关闭: 12firewall-cmd --state #查看状态systemctl stop firewalld 打开OpenSSL配置文件如下,或Windows下为/bin/openssl.cfg。 1cat /etc/ssl/openssl.cnf 部分内容为: 123456789101112131415161718192021222324252627282930313233343536[ ca ]default_ca = CA_default # 默认CA[ CA_default ]dir = /etc/pki/CA # CA工作目录 这里改一下certs = $dir/certs # 证书存储路径crl_dir = $dir/crl # 证书吊销列表da ...
OpenSSL入门-椭圆曲线
发表于2024-12-08|OpenSSL
OpenSSL入门-椭圆曲线数学基础例如求椭圆曲线$y^2=x^3-x$在有限域$\operatorname{GF}(89)$上所有点: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112#include <iostream>#include<string.h>#include<math.h>#include<time.h>#define MAX 100typedef struct point { int point_x; int point_y;}Point;typedef struct ecc ...
OpenSSL入门-RSA综合
发表于2024-12-08|OpenSSL
OpenSSL入门-RSA综合PKCS#1加密填充格式: 1EB=00+BT+PS+00+D EB位转化后十六进制表示的数据块,如密钥为1024位时EB长度为128字节。BT为处理模式,公钥操作为02,私钥操作为00或01,当D以00开头时BT为01,不以00开头时为00。PS为填充字节,填充数量为$密钥字节长-3-明文字节长$,最小长度为8,当BT为00时填充用00,BT为01时填充用FF,BT为02时随机非零填充。 C语言实现: 12345678910111213141516171819202122232425262728293031323334353637383940#include <iostream>#include <stdlib.h>#include <time.h>int rsaEncDataPaddingPkcs1(unsigned char* in, int ilen, unsigned char* eb, int olen) { int i; unsigned char byteRand; if ( ...
OpenSSL入门-常用编码
发表于2024-12-08|OpenSSL
OpenSSL入门-常用编码Base64BIO_new将参数type中各个变量赋值给BIO街头中的method成员: 123BIO* BIO_new( BIO_METHOD* type); 参数type可由BIO_f_base64返回,写的时候编码,读的时候解码: 1BIO_METHOD* BIO_f_base64(); 其中BIO_METHOD结构为: 123456789101112typedef struct bio_method_st{ int type; //类型 const char* name; //名字 int (*bwrite)(BIO*,const char*,int); //二进制写回调函数 int (*bread)(BIO*,char*,int); //二进制读回调函数 int (*bputs)(BIO*,const char*); //文本写回调函数 int (*bgets)(BIO*,char*,int); //文本读回调函数 long (*ctrl)(BIO*,int,long,void*); / ...
OpenSSL入门-杂凑函数
发表于2024-12-07|OpenSSL
OpenSSL入门-杂凑函数SM3实现: 12345678910111213141516171819202122232425262728293031323334353637383940#include <stdio.h>#include <string.h>#include "openssl/evp.h"int sm3_hash(const unsigned char* message, size_t len, unsigned char* hash, unsigned int* hash_len) { EVP_MD_CTX* md_ctx; const EVP_MD* md; md = EVP_sm3(); md_ctx = EVP_MD_CTX_new(); EVP_DigestInit_ex(md_ctx, md, NULL); EVP_DigestUpdate(md_ctx, message, len); EVP_DigestFinal_ex(md_ctx, hash, hash_l ...
WindowsAPI编程核心技术-内核枚举
发表于2024-12-05|Win内核安全
WindowsAPI编程核心技术-内核枚举枚举用户进程12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include <ntifs.h>#include <windef.h>extern PVOID PsGetProcessPeb(_In_ PEPROCESS Process);NTKERNELAPI NTSTATUS PsLookupProcessByProcessId(HANDLE ProcessId, PEPROCESS* Process);extern NTKERNELAPI PVOID PsGetProcessWow64Process(_In_ PEPROCESS Process);extern NTKERNELAPI UCHAR* PsGetProcessImageFileName(IN PEPROCESS Process);extern NTKER ...
Windows驱动开发入门-安全进阶
发表于2024-11-30|Win驱动开发
Windows驱动开发入门-安全进阶任意进程读写CR3法CR3寄存器保存页目录表PDBR地址,用CR3可对任意进程特定地址进行强制读写。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#include <ntifs.h>#include <windef.h>#include <intrin.h>#define DIRECTORY_TABLE_BASE 0x028#pragma intrinsic(_disable)#pragma intrinsic(_enable)NTKERNELAPI NTSTATUS PsLookupProcessByProcessId(HANDLE ProcessId, PEPROCESS *Process);NTKERNELAPI CHAR* PsGetProcessImageFileName(PEPROCESS Process ...
UEFI编程入门-图形与文字显示
发表于2024-11-29|UEFI
UEFI编程入门-图形与文字显示显示基础UEFI进行图形开发步骤为: 获取EFI_GRAPHICS_OUTPUT_PROTOCOL实例,存在多个显示设备则可获得多个实例。 查询系统支持的显示模式,特别是模式的分辨率,确定可操作的画布大小。 设置需要的显示模式。 用图形显示接口函数Blt在屏幕上绘制。 EFI_GRAPHICS_OUTPUT_PROTOCOL结构为: 1234567891011121314struct _EFI_GRAPHICS_OUTPUT_PROTOCOL { EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode; //查询系统显示模式 EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode; //设置显示模式 EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt; //图形显示接口函数 EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode; //当前 ...
123…32
avatar
Monoceros406
Windows系统安全爱好者
文章
319
标签
29
分类
0
Follow Me
公告
哪里排版出锅了请告诉我QwQ QQ:1295625063
最新文章
Qt6开发入门-常用控件简介2025-05-11
Qt6开发入门-Qt框架综述2025-05-11
C++后端开发入门-环境配置与多线程编程2025-05-05
Qt6开发入门-环境配置与入门2025-05-05
差分隐私实践入门2025-05-03
标签
Win内核安全 密码学 恶意代码 Web3 数学建模 Web 取证 AWD 算法 编程语言 Win驱动开发 解题报告 Python 前端开发 Win系统调试 逆向工程 Misc 其他 UEFI OpenSSL PWN 沙盒逃逸 渗透测试 GUI开发 WinAPI IoT 移动安全 后端开发 漏洞复现
归档
  • 五月 20255
  • 十二月 202413
  • 十一月 202412
  • 十月 202420
  • 九月 20243
  • 八月 20248
  • 七月 202413
  • 六月 20249
网站资讯
文章数目 :
319
已运行时间 :
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By Monoceros406
框架 Hexo|主题 Butterfly