并没有看懂如何加载dll文件。其中如下
#include "include/gmp.h"
#pragma comment (lib , "bin/libgmp-6.1.1.lib")
//#pragma comment (dll , "bin/libgmp-6.1.1.dll")
然后发现并没什么用处。还尝试过把几个文件都放在同一个目录下,没啥卵用。
好想问问你该怎么做呀T_T
看到类,然后想开始一下spn的部分,然而,发现我连密码学课本上spn模型的加密长度都忘了……是64还是 32 哇还是有区别的,还有密钥生成算法,我也不知道。 写了一点接口的东西,如下,初始化和设置密钥。然后看了一点多线程,感觉轮密钥和加密可以两个线程就是不知道是否会快。 还有密钥读取问题,是用long long(假如是64位)还是char数组,还是string。
class MySPN {
public:
MySPN();
void setKey(std::string key);
void setKey(unsigned long long key);
private:
unsigned long long thisKey;
};
昨天问你,你说你还没看,就不知道说什么了
分享一个网址spn加密算法的实现
今天把题目要求确定了一下,然后呢,就是把基本框架搭好了,把轮密钥生成写了。
确定了一下,密钥长度为32,分组长度为16
然而,对于运行时候是只加密一各,还是一长串进行加密呢,这个我没确定。。
目前设定是只加密一串,理由是,加密一长串涉及到padding,以及密钥分配,难道都用一个密钥加密吗……kidding
而且,这只是测试
你是谁,你在哪里
忘了说了,今天上午把权力的游戏第七季第一集看了,感谢教主的种子。
- 开局的二丫太帅了
- 那个堡主 小女孩也很棒
- 我的龙女没以前那么漂亮了,唉
- 雪诺 应该不会仁慈的过分吧
- 珊莎 好漂亮
今天就是实现了多线程,windows多线程要调用threadCreat,一点不开心,各种要求太多。特别是函数要是静态的。
为了传递参数,我把轮密钥存储在一个数组里面了。用一个结构体传递的参数,因为我发现那个只能传递指针,就一个参数。
struct argumKey {
unsigned long inputKey;
struct storeKey
{
unsigned short key;
bool state;
} roundKey[5];//存储轮密钥
} threadArgu;
就这样子了。
在家待得没有感觉,你是谁
今天的课设就到这里了。。。
今天准备一下课本,,,
改签了车票,,29号走,30早上到
完成了spn的实现,存在以下问题
-
修改了加密思路,使用char[4]来加密,但是设置密钥时候仍然沿用了之前的思路,存在char2short,short2char的额外工作
-
灵活性很差,因为之前使用unsigned short导致位数限定,而且由于只有16位,所以很多操作使用重复代码完成,修改需要修改地方很多
-
s盒子理解有问题……或者是说我觉得ppt写的有问题,高位低位混乱,但是沿用的ppt的结果
总之觉得还好,基本完成
很快七夕了,,,,大概纯乎一个傻逼了hh
昨天又加了两个,就是输入是01 输出是01…………为了密码分析用的,,然后写bug知道了原来==和&优先级问题,日了狗了
今天看了一下要求,向做分析,但是苦于不知道从何下手,就决定先弄个RSA,but 还是gmp库的使用问题,终于解决了。
#include "gmp.h"
#pragma comment (lib , "libgmp-6.1.1.lib")
但是呢,发现少了好多个dll,而且gmp的dll名称不对啊……。。 4 还有就是vs下,gmp.h报错,两个问题都是unsigned的问题,我私自改了
- 0-unsigned
- unsigned > (unsigned) signed
我感觉不会有问题的………………
然后说一下今天看到权力的游戏第六集:
- 死了一条龙,可惜了
- 艾丽娅,,,怎么还不动手,,好久没看到她的武功了
- 丹妮呢, 唉 怎么感觉老了呢
- 囧呢,,不会真的和他姑姑有戏吧
- 丹妮真的不会有孩子了??会不会回光返照
- 感觉下一集预告,,,打打杀杀,莫非是打的瑟曦坐下谈判
- 小恶魔
- 死了好几个人啊,,那个野人死没死忘了,,,
- 珊莎
来个一级标签告诉,今天查了六级成绩
唉,427,,心塞,还被嘲讽了…………下次再来吧,,,
今天见到好多2,,,22日星期2,,好多都是11的倍数
今天来学校了,感觉唉 不好
下午去图书馆,然后发现很懵逼,,就简单的看了一下gmp的文档,然后参照着样例用法,求大素数pq,以及其他运算。
但是对于公钥的生成还是有问题,我不知道生成多少位的,1024还是2048.
今天的设想是,接口函数有,RSA生成密钥,清除密钥,其他的还没补充
今天看了权力的游戏第七集:
- 小指头死了
- 瑟曦不听话,不过我觉得他没有错,北境和丹妮联手了,亡灵大军之后就是自己,必须要自保
- 弑君者背离了色后
- 长城那么快就没了
- 我很好奇异鬼王是谁
今天 看了一下qt 的相关知识,改变字体颜色,改变文本内容 之类的
课设方面,今天:
- RSA 进一步写,生成p,q,n等但是素性检测生成私钥还没写
- 学习GMP文档
- 没了
之前几天忘了写日记了,,,,,就写今天的了
今天完成了RSA参数的生成,不过有几个问题:
- 有部分gmp方法不知道允不允许用
- 没验证准确性
- 就是 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
下面是我的RSA的函数
class MyRSA
{
public:
MyRSA();
~ MyRSA();
void CreateKey();
void ClearKey();
void printKey();
private:
mpz_t p, q, n, pub, pri;
bool ok;
gmp_randstate_t state;
struct arguement {
bool * ok;
gmp_randstate_t * state;
mpz_t *p;
}argue;
static bool isNotPrime(mpz_t &num);
bool relaPrime(mpz_t &a, mpz_t &b, mpz_t &c, bool state);
bool priCreat(mpz_t &a, mpz_t &b);
static void bigPrime(LPVOID argue);
};
其中,本来是没有生成大素数的函数的,也没有创建新线程,但是测试的时候 发现生成大素数需要的时间太长了,而且要生成两个,所以就新建了线程,时间 从350左右降到了200左右,,而生成一个大素数就需要150左右。
今天开始上课了,结果发现要写spn解密,要读文件
mmp
结果发现自己的解密有问题,加密有问题
因为假期发现自己跟ppt的结果是一致的,所以觉得没问题,但是当时是使用01以及十六进制字符串比较的。
但是今天发现自己明文和密文竟然是一样的,也就是说加密有问题,就以为自己加密全部与问题就测试。。
经过测试01没问题,然后就看unsigned short处理是不是有问题。。
结果发现最后将16进制变short时候,用错变量了,所以出现了问题
然后还是觉得 有问题,因为和同学对发现结果不一样,知道我今晚使用舍友的spn和我的spn加密文件解密文件,发现
我加密的他可以解密,但是我不能解密,所以是解密有问题。。。。解密时候,,,,,,调试时候 然后发现是s盒子按照加密的写的,
所以倒过来了,然后调试发现++m使用不对,应该使用m++。。。特别是这个 好难发现,。。。
然后解密问题还有挺多的,,,,还是s盒子,发现初始化赋值时候,有个0写成了1,这应该是当初复制漏了
。。。。或者不小心改了
最后终于弄好了, 花了好久好久………………………………乱七八糟的问题,,,,今天的日记不想写了。。。。
其中spn的添加了文件的加解密,各种接口介绍都没写。。。还有解密,,这个也是接口都没写。而且 使用的方法和输入字符串都有更改。
然后,发现一个问题,就是我加密解密之后,我的文件后面会有多余的,,,,,经过调试未能解决,本来我以为是函数使用问题,, 可能不是,例如我文件中内容是“abcde”,读完这个之后还会读几个字符。,我也不清楚。 等问问老师。。
今天把spn的加强的接口写了,,但是内容没写。。。
今天和室友开黑,,第一局输了,我的排位8连胜终结了 唉