Skip to content

Latest commit

 

History

History
204 lines (151 loc) · 8.9 KB

log.md

File metadata and controls

204 lines (151 loc) · 8.9 KB

日志

2017.7.14 17:55

并没有看懂如何加载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

2017.7.18 9:24

看到类,然后想开始一下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加密算法的实现

2017.7.19 ~~

今天把题目要求确定了一下,然后呢,就是把基本框架搭好了,把轮密钥生成写了。
确定了一下,密钥长度为32,分组长度为16
然而,对于运行时候是只加密一各,还是一长串进行加密呢,这个我没确定。。
目前设定是只加密一串,理由是,加密一长串涉及到padding,以及密钥分配,难道都用一个密钥加密吗……kidding
而且,这只是测试

你是谁,你在哪里

忘了说了,今天上午把权力的游戏第七季第一集看了,感谢教主的种子。

  • 开局的二丫太帅了
  • 那个堡主 小女孩也很棒
  • 我的龙女没以前那么漂亮了,唉
  • 雪诺 应该不会仁慈的过分吧
  • 珊莎 好漂亮

2017.7.20 10:30

今天就是实现了多线程,windows多线程要调用threadCreat,一点不开心,各种要求太多。特别是函数要是静态的。
为了传递参数,我把轮密钥存储在一个数组里面了。用一个结构体传递的参数,因为我发现那个只能传递指针,就一个参数。

struct argumKey {
	unsigned long inputKey;
	struct storeKey
	{
		unsigned short key;
		bool state;
	} roundKey[5];//存储轮密钥
} threadArgu;

就这样子了。
在家待得没有感觉,你是谁
今天的课设就到这里了。。。

2017.8.20

今天准备一下课本,,,

改签了车票,,29号走,30早上到

2017.8.20 16:26

完成了spn的实现,存在以下问题

  • 修改了加密思路,使用char[4]来加密,但是设置密钥时候仍然沿用了之前的思路,存在char2short,short2char的额外工作

  • 灵活性很差,因为之前使用unsigned short导致位数限定,而且由于只有16位,所以很多操作使用重复代码完成,修改需要修改地方很多

  • s盒子理解有问题……或者是说我觉得ppt写的有问题,高位低位混乱,但是沿用的ppt的结果

    总之觉得还好,基本完成
    很快七夕了,,,,大概纯乎一个傻逼了hh

2017.8.22 16:44

昨天又加了两个,就是输入是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的倍数

2017.8.30

今天来学校了,感觉唉 不好
下午去图书馆,然后发现很懵逼,,就简单的看了一下gmp的文档,然后参照着样例用法,求大素数pq,以及其他运算。 但是对于公钥的生成还是有问题,我不知道生成多少位的,1024还是2048.
今天的设想是,接口函数有,RSA生成密钥,清除密钥,其他的还没补充

今天看了权力的游戏第七集:

  • 小指头死了
  • 瑟曦不听话,不过我觉得他没有错,北境和丹妮联手了,亡灵大军之后就是自己,必须要自保
  • 弑君者背离了色后
  • 长城那么快就没了
  • 我很好奇异鬼王是谁

2017.8.31 17:25

今天 看了一下qt 的相关知识,改变字体颜色,改变文本内容 之类的
课设方面,今天:

  • RSA 进一步写,生成p,q,n等但是素性检测生成私钥还没写
  • 学习GMP文档
  • 没了

2017.9.3

之前几天忘了写日记了,,,,,就写今天的了

今天完成了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左右。

2017.9.4

今天开始上课了,结果发现要写spn解密,要读文件
mmp
结果发现自己的解密有问题,加密有问题
因为假期发现自己跟ppt的结果是一致的,所以觉得没问题,但是当时是使用01以及十六进制字符串比较的。 但是今天发现自己明文和密文竟然是一样的,也就是说加密有问题,就以为自己加密全部与问题就测试。。 经过测试01没问题,然后就看unsigned short处理是不是有问题。。 结果发现最后将16进制变short时候,用错变量了,所以出现了问题
然后还是觉得 有问题,因为和同学对发现结果不一样,知道我今晚使用舍友的spn和我的spn加密文件解密文件,发现 我加密的他可以解密,但是我不能解密,所以是解密有问题。。。。解密时候,,,,,,调试时候 然后发现是s盒子按照加密的写的, 所以倒过来了,然后调试发现++m使用不对,应该使用m++。。。特别是这个 好难发现,。。。
然后解密问题还有挺多的,,,,还是s盒子,发现初始化赋值时候,有个0写成了1,这应该是当初复制漏了 。。。。或者不小心改了
最后终于弄好了, 花了好久好久………………………………乱七八糟的问题,,,,今天的日记不想写了。。。。 其中spn的添加了文件的加解密,各种接口介绍都没写。。。还有解密,,这个也是接口都没写。而且 使用的方法和输入字符串都有更改。

然后,发现一个问题,就是我加密解密之后,我的文件后面会有多余的,,,,,经过调试未能解决,本来我以为是函数使用问题,, 可能不是,例如我文件中内容是“abcde”,读完这个之后还会读几个字符。,我也不清楚。 等问问老师。。

今天把spn的加强的接口写了,,但是内容没写。。。

今天和室友开黑,,第一局输了,我的排位8连胜终结了 唉