difcrack.txt

来自「DES查分攻击源代码」· 文本 代码 · 共 4,322 行 · 第 1/5 页

TXT
4,322
字号

开始攻击
	第 0 对明密文攻击

	nL0R0:

	1 0 1 0 1 1 0 0 
	1 1 1 1 0 1 0 0 
	0 1 1 0 0 1 0 1 
	1 0 1 0 0 0 0 1 

	1 1 0 1 1 0 0 1 
	1 1 0 1 0 1 0 1 
	0 0 0 1 1 0 0 0 
	1 1 0 0 0 1 0 1 
	L0(*)R0(*):

	0 1 1 0 0 1 1 0 
	0 1 0 0 1 1 1 1 
	0 0 0 1 1 0 1 1 
	0 0 1 0 1 1 1 0 

	1 1 0 1 1 0 0 1 
	1 1 0 1 0 1 0 1 
	0 0 0 1 1 0 0 0 
	1 1 0 0 0 1 0 1 
	L3R3:

	0 0 0 1 0 1 0 0 
	1 0 1 0 1 1 0 1 
	1 0 1 1 0 0 1 0 
	1 1 1 1 0 1 0 1 

	1 1 1 0 1 1 0 0 
	0 1 1 1 0 0 0 0 
	1 0 0 0 0 0 1 1 
	0 1 0 1 0 1 0 1 
	L3(*)R3(*):

	0 0 1 0 1 0 0 0 
	0 0 1 0 0 1 1 0 
	1 0 1 1 0 0 0 0 
	1 0 0 0 1 0 1 1 

	0 0 1 0 1 1 1 1 
	0 1 0 1 0 1 1 1 
	0 0 0 1 0 0 1 1 
	0 0 1 0 0 0 1 0 
		开始分别攻击8个S盒

			开始攻击第0个S盒

				算TEST集合:
				输入E:

				1 0 0 0 1 0 
				输入E(*):

				1 0 0 1 0 1 
				输入C:

				1 1 1 0 
					开始计算IN集合:
					输入B:

					0 0 0 1 1 1 
					输入C:

					1 1 1 0 
					输出IN集合:

					0 1 1 1 0 1 
					0 1 1 0 1 0 
					结束IN集合的计算:
				输出TEST集合:

				1 1 1 1 1 1 
				1 1 1 0 0 0 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 1 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 

			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 1 
			结束攻击第0个S盒

			开始攻击第1个S盒

				算TEST集合:
				输入E:

				1 0 1 0 0 1 
				输入E(*):

				0 1 0 0 0 0 
				输入C:

				1 1 0 1 
					开始计算IN集合:
					输入B:

					1 1 1 0 0 1 
					输入C:

					1 1 0 1 
					输出IN集合:

					1 0 1 0 0 1 
					0 0 1 1 1 1 
					0 1 0 0 0 0 
					1 1 0 1 1 0 
					结束IN集合的计算:
				输出TEST集合:

				0 0 0 0 0 0 
				1 0 0 1 1 0 
				1 1 1 0 0 1 
				0 1 1 1 1 1 
				结束计算TEST集合:
			KeyMap:


			1 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 1 0 0 0 0 0 0 

			0 0 0 0 0 0 0 1 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 1 0 
			结束攻击第1个S盒

			开始攻击第2个S盒

				算TEST集合:
				输入E:

				0 1 0 1 0 1 
				输入E(*):

				0 0 0 1 0 0 
				输入C:

				0 0 0 0 
					开始计算IN集合:
					输入B:

					0 1 0 0 0 1 
					输入C:

					0 0 0 0 
					输出IN集合:

					0 1 1 0 0 1 
					1 1 1 0 0 1 
					0 1 0 0 1 1 
					0 1 1 0 1 1 

					1 0 1 0 1 1 
					1 0 0 1 1 1 
					0 0 1 0 0 0 
					1 0 1 0 0 0 

					0 0 0 0 1 0 
					1 1 1 0 1 0 
					0 0 1 0 1 0 
					1 1 0 1 1 0 
					结束IN集合的计算:
				输出TEST集合:

				0 0 1 1 0 0 
				1 0 1 1 0 0 
				0 0 0 1 1 0 
				0 0 1 1 1 0 

				1 1 1 1 1 0 
				1 1 0 0 1 0 
				0 1 1 1 0 1 
				1 1 1 1 0 1 

				0 1 0 1 1 1 
				1 0 1 1 1 1 
				0 1 1 1 1 1 
				1 0 0 0 1 1 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 0 
			0 0 0 0 1 1 0 0 
			0 0 0 1 0 0 0 0 
			1 0 0 0 1 0 0 1 

			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 1 1 
			0 1 0 0 0 0 0 0 
			0 0 1 0 0 1 1 0 
			结束攻击第2个S盒

			开始攻击第3个S盒

				算TEST集合:
				输入E:

				0 1 1 0 1 1 
				输入E(*):

				0 0 1 1 0 1 
				输入C:

				1 0 0 0 
					开始计算IN集合:
					输入B:

					0 1 0 1 1 0 
					输入C:

					1 0 0 0 
					输出IN集合:

					0 1 1 1 1 0 
					1 1 0 0 1 0 
					1 0 1 0 1 0 
					1 0 0 1 0 0 

					1 1 1 1 0 0 
					0 0 1 0 0 0 
					结束IN集合的计算:
				输出TEST集合:

				0 0 0 1 0 1 
				1 0 1 0 0 1 
				1 1 0 0 0 1 
				1 1 1 1 1 1 

				1 0 0 1 1 1 
				0 1 0 0 1 1 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 

			0 0 0 1 0 1 0 0 
			1 0 0 0 0 0 0 0 
			0 0 1 0 0 0 0 0 
			0 1 0 0 0 0 0 1 
			结束攻击第3个S盒

			开始攻击第4个S盒

				算TEST集合:
				输入E:

				1 1 0 1 1 0 
				输入E(*):

				0 1 0 1 1 0 
				输入C:

				1 1 1 0 
					开始计算IN集合:
					输入B:

					1 0 0 0 0 0 
					输入C:

					1 1 1 0 
					输出IN集合:

					1 1 0 0 0 0 
					0 1 0 0 0 0 
					1 1 1 1 0 0 
					0 1 1 1 0 0 

					1 1 0 1 1 1 
					0 1 0 1 1 1 
					结束IN集合的计算:
				输出TEST集合:

				0 0 0 1 1 0 
				1 0 0 1 1 0 
				0 0 1 0 1 0 
				1 0 1 0 1 0 

				0 0 0 0 0 1 
				1 0 0 0 0 1 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 1 1 0 0 
			1 1 0 0 0 0 0 0 

			1 1 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			结束攻击第4个S盒

			开始攻击第5个S盒

				算TEST集合:
				输入E:

				1 0 0 1 0 1 
				输入E(*):

				1 0 0 0 0 1 
				输入C:

				0 1 0 1 
					开始计算IN集合:
					输入B:

					0 0 0 1 0 0 
					输入C:

					0 1 0 1 
					输出IN集合:

					0 1 0 1 1 0 
					1 1 0 1 1 0 
					0 1 0 0 1 0 
					1 1 0 0 1 0 

					1 1 1 1 1 1 
					1 1 1 0 1 1 
					结束IN集合的计算:
				输出TEST集合:

				1 1 0 0 1 1 
				0 1 0 0 1 1 
				1 1 0 1 1 1 
				0 1 0 1 1 1 

				0 1 1 0 1 0 
				0 1 1 1 1 0 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 1 0 
			0 0 0 0 0 0 1 0 

			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 1 1 0 0 0 0 
			0 0 1 1 0 0 0 0 
			结束攻击第5个S盒

			开始攻击第6个S盒

				算TEST集合:
				输入E:

				0 1 1 1 1 0 
				输入E(*):

				0 1 0 0 0 1 
				输入C:

				0 1 1 0 
					开始计算IN集合:
					输入B:

					0 0 1 1 1 1 
					输入C:

					0 1 1 0 
					输出IN集合:

					1 1 1 0 1 1 
					1 1 0 1 0 0 
					结束IN集合的计算:
				输出TEST集合:

				1 0 0 1 0 1 
				1 0 1 0 1 0 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 1 0 0 
			0 0 0 0 0 0 0 0 

			0 0 0 0 0 0 0 0 
			0 1 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			结束攻击第6个S盒

			开始攻击第7个S盒

				算TEST集合:
				输入E:

				1 0 1 0 1 0 
				输入E(*):

				0 1 0 1 1 0 
				输入C:

				1 1 0 1 
					开始计算IN集合:
					输入B:

					1 1 1 1 0 0 
					输入C:

					1 1 0 1 
					输出IN集合:

					1 1 0 1 0 0 
					0 0 1 0 0 0 
					0 1 1 1 1 0 
					1 0 0 0 1 0 

					1 1 1 1 1 1 
					0 0 0 0 1 1 
					结束IN集合的计算:
				输出TEST集合:

				0 1 1 1 1 0 
				1 0 0 0 1 0 
				1 1 0 1 0 0 
				0 0 1 0 0 0 

				0 1 0 1 0 1 
				1 0 1 0 0 1 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 1 0 0 0 
			0 0 0 1 0 0 0 0 
			0 1 0 0 0 0 0 0 
			0 0 0 0 0 0 1 0 

			0 0 0 0 0 1 0 0 
			0 0 1 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			结束攻击第7个S盒

		结束攻击8个S盒

	第 1 对明密文攻击

	nL0R0:

	1 1 0 1 0 1 1 1 
	0 1 0 0 1 1 1 1 
	1 1 1 0 1 1 1 0 
	0 0 0 1 1 1 1 0 

	1 1 1 0 1 1 1 1 
	0 0 1 0 0 0 1 1 
	1 1 1 0 0 0 0 1 
	0 0 1 0 0 0 0 1 
	L0(*)R0(*):

	0 0 1 0 0 1 0 1 
	0 1 1 0 1 1 0 0 
	0 0 0 1 0 1 0 0 
	1 0 1 1 0 1 0 1 

	1 1 1 0 1 1 1 1 
	0 0 1 0 0 0 1 1 
	1 1 1 0 0 0 0 1 
	0 0 1 0 0 0 0 1 
	L3R3:

	0 1 1 0 0 1 0 1 
	0 0 0 0 0 1 0 1 
	0 0 0 1 1 0 1 1 
	0 0 1 0 0 0 0 1 

	0 0 0 1 1 0 0 0 
	1 0 0 1 0 1 0 1 
	1 0 1 0 1 1 1 0 
	1 1 0 1 0 1 0 1 
	L3(*)R3(*):

	1 1 1 1 0 1 0 0 
	1 1 1 1 0 1 1 0 
	1 0 0 0 1 1 0 0 
	0 0 0 0 0 1 0 0 

	1 0 0 1 0 0 1 0 
	1 0 0 0 1 0 1 1 
	1 0 1 1 0 1 1 0 
	1 0 0 1 0 1 1 1 
		开始分别攻击8个S盒

			开始攻击第0个S盒

				算TEST集合:
				输入E:

				1 0 1 1 0 0 
				输入E(*):

				0 1 1 1 1 0 
				输入C:

				0 1 1 0 
					开始计算IN集合:
					输入B:

					1 1 0 0 1 0 
					输入C:

					0 1 1 0 
					输出IN集合:

					1 1 1 0 1 0 
					1 0 0 1 1 0 
					0 0 1 0 0 0 
					0 1 0 1 0 0 
					结束IN集合的计算:
				输出TEST集合:

				0 1 0 1 1 0 
				0 0 1 0 1 0 
				1 0 0 1 0 0 
				1 1 1 0 0 0 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 2 
			0 1 0 0 0 0 0 0 
			0 0 0 0 1 0 0 0 
			0 0 1 0 0 0 0 0 

			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 1 
			结束攻击第0个S盒

			开始攻击第1个S盒

				算TEST集合:
				输入E:

				0 0 1 0 1 0 
				输入E(*):

				1 0 1 0 0 1 
				输入C:

				1 0 1 1 
					开始计算IN集合:
					输入B:

					1 0 0 0 1 1 
					输入C:

					1 0 1 1 
					输出IN集合:

					1 0 1 1 1 1 
					1 1 1 1 1 1 
					0 1 0 1 0 1 
					1 1 0 1 1 0 

					0 0 1 1 0 0 
					0 1 1 1 0 0 
					结束IN集合的计算:
				输出TEST集合:

				1 0 0 1 0 1 
				1 1 0 1 0 1 
				0 1 1 1 1 1 
				1 1 1 1 0 0 

				0 0 0 1 1 0 
				0 1 0 1 1 0 
				结束计算TEST集合:
			KeyMap:


			1 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 1 
			0 0 0 0 0 0 0 0 
			1 1 1 0 0 0 0 0 

			0 0 0 0 0 0 0 1 
			0 1 0 1 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 2 0 
			结束攻击第1个S盒

			开始攻击第2个S盒

				算TEST集合:
				输入E:

				1 0 0 0 0 0 
				输入E(*):

				0 1 1 1 1 0 
				输入C:

				0 0 0 0 
					开始计算IN集合:
					输入B:

					1 1 1 1 1 0 
					输入C:

					0 0 0 0 
					输出IN集合:
					结束IN集合的计算:
				输出TEST集合:
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 0 
			0 0 0 0 1 1 0 0 
			0 0 0 1 0 0 0 0 
			1 0 0 0 1 0 0 1 

			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 1 1 
			0 1 0 0 0 0 0 0 
			0 0 1 0 0 1 1 0 
			结束攻击第2个S盒

			开始攻击第3个S盒

				算TEST集合:
				输入E:

				0 0 1 0 1 0 
				输入E(*):

				1 0 1 1 0 1 
				输入C:

				1 0 1 0 
					开始计算IN集合:
					输入B:

					1 0 0 1 1 1 
					输入C:

					1 0 1 0 
					输出IN集合:

					1 0 1 1 0 1 
					0 0 1 1 0 1 
					1 0 1 0 1 0 
					0 0 1 0 1 0 
					结束IN集合的计算:
				输出TEST集合:

				1 0 0 1 1 1 
				0 0 0 1 1 1 
				1 0 0 0 0 0 
				0 0 0 0 0 0 
				结束计算TEST集合:
			KeyMap:


			1 1 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 0 0 

			0 0 0 1 0 1 0 0 
			1 0 0 0 0 0 0 0 
			0 0 1 0 0 0 0 0 
			1 2 0 0 0 0 0 1 
			结束攻击第3个S盒

			开始攻击第4个S盒

				算TEST集合:
				输入E:

				1 0 0 0 1 1 
				输入E(*):

				0 1 0 0 0 1 
				输入C:

				0 1 1 1 
					开始计算IN集合:
					输入B:

					1 1 0 0 1 0 
					输入C:

					0 1 1 1 
					输出IN集合:

					1 1 1 0 1 0 
					1 0 1 0 1 0 
					1 1 0 1 1 0 
					1 0 1 1 1 0 

					0 1 1 0 0 0 
					0 0 1 0 0 0 
					0 0 0 1 0 0 
					0 1 1 1 0 0 

					1 1 0 1 1 1 
					0 0 0 1 0 1 
					结束IN集合的计算:
				输出TEST集合:

				0 1 1 0 0 1 
				0 0 1 0 0 1 
				0 1 0 1 0 1 
				0 0 1 1 0 1 

				1 1 1 0 1 1 
				1 0 1 0 1 1 
				1 0 0 1 1 1 
				1 1 1 1 1 1 

				0 1 0 1 0 0 
				1 0 0 1 1 0 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 0 0 
			0 0 1 0 0 0 0 0 
			0 0 0 0 1 1 0 0 
			1 2 0 0 0 0 0 0 

			1 1 0 0 1 0 1 0 
			0 0 1 0 1 0 0 0 
			0 0 0 0 0 1 0 1 
			0 1 0 0 0 0 0 1 
			结束攻击第4个S盒

			开始攻击第5个S盒

				算TEST集合:
				输入E:

				1 1 0 1 1 0 
				输入E(*):

				0 1 1 0 0 0 
				输入C:

				1 1 1 1 
					开始计算IN集合:
					输入B:

					1 0 1 1 1 0 
					输入C:

					1 1 1 1 
					输出IN集合:

					1 0 1 1 1 0 
					0 0 1 1 1 0 
					1 0 0 0 0 0 
					0 0 0 0 0 0 

					0 0 1 1 1 1 
					1 1 1 0 1 1 
					0 1 1 0 1 1 
					1 1 0 1 0 1 

					0 1 0 1 0 1 
					1 0 0 0 0 1 
					结束IN集合的计算:
				输出TEST集合:

				0 1 1 0 0 0 
				1 1 1 0 0 0 
				0 1 0 1 1 0 
				1 1 0 1 1 0 

				1 1 1 0 0 1 
				0 0 1 1 0 1 
				1 0 1 1 0 1 
				0 0 0 0 1 1 

				1 0 0 0 1 1 
				0 1 0 1 1 1 
				结束计算TEST集合:
			KeyMap:


			0 0 0 0 0 0 1 1 
			0 0 0 0 0 0 0 0 
			0 0 0 0 0 0 1 0 
			0 0 1 1 0 0 1 0 

			0 0 0 0 0 0 0 1 
			0 0 0 0 1 1 0 0 
			1 1 1 1 0 0 0 0 
			0 0 2 1 0 0 0 0 
			结束攻击第5个S盒

			开始攻击第6个S盒

				算TEST集合:
				输入E:

				1 0 0 1 0 0 
				输入E(*):

				0 0 0 0 0 0 
				输入C:

				1 1 0 0 
					开始计算IN集合:
					输入B:

					1 0 0 1 0 0 
					输入C:

					1 1 0 0 
					输出IN集合:

					1 0 1 1 0 0 
					0 0 1 1 0 0 
					1 0 1 0 0 0 
					0 0 1 0 0 0 

					1 1 0 1 1 0 
					0 0 1 1 1 0 
					0 1 0 0 1 0 
					1 0 1 0 1 0 
					结束IN集合的计算:
				输出TEST集合:

				0 0 1 0 0 0 
				1 0 1 0 0 0 
				0 0 1 1 0 0 
				1 0 1 1 0 0 

				0 1 0 0 1 0 
				1 0 1 0 1 0 
				1 1 0 1 1 0 
				0 0 1 1 1 0 
				结束计算TEST集合:

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?