首页 > 编程知识 正文

rsa加密算法c语言代码,c语言rsa加密解密实现

时间:2023-05-05 20:48:08 阅读:169690 作者:583

hyperlink '/mingcn/archive/2010/10/31/AES _ c.html ' AES加密算法(c实现,带源代码) )。

请注明原创作品,转载来自hyperlink '/' xelz ' s博客

博客地址: HYPERLINK '/'/

本文地址: hyperlink '/archive/2010/10/31/AES _ c.html '/archive/2010/10/31/AES _ c.html

马上就要毕业了。 最后的课程设计,《基于Windows Socket的安全通信》。 内容是基于AES加密的套接字通信。 看起来很简单,但要用VC 6.0开发,C确实没有代码经验。 虽然不是强制的,但是在机房里有各种各样的烦恼,所以只能用那个。 (用Java没有挑战性,封装太好了。 )你也习惯了VC吧。

通过首先完成AES算法,基本变换包括字节替换、隐藏行、最大列、地址

那个算法一般是

及明文键的组织方法

ByteSubstitution (字节替代) ) ) ) ) ) )。

非线性字节替代,单独处理每个字节:

如果求出该字节在有限体gf(28 )上乘法逆,则'0'被映射到自身,即针对gf ) 28 )求出gf ) 28 ),

设==1mod(x8x4x2x1)。

对上一步求出的乘法反过来进行仿射变换

yi=Xix(I4 ) mod8 ci ) I6 ) mod8 ci ) I7 ) mod8 ci

(其中ci为6310即011000112的第I位),如果用矩阵表示

本打算提高乘法的逆和求仿射变换的算法,但最终放弃了.直接打置换表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

未签名的char sbox [ ]=

{/* 0 1 2 3 4 5 6 7 8 9 a b c d e f */

0x 63,0x7c,0x 77,0x7b,0x F2,0x6b,0x6f,0x C5,0x 30,0x 01,0x 67,0x2b,0xfe,0x D7,0x ab,0x76,/*0*/

0xca,0x 82,0xc 9,0x7d,0xfa,0x 59,0x 47,0xf 0,0x ad,0x D4,0x a2,0x9c,0x a4,0x 72,0xc 0,/*1*/

0xb 7,0x FD,0x 93,0x 26,0x 36,0x3f,0xf 7,0x cc,0x 34,0x a5,0xe 5,0x f1,0x 71,0x D8,0x 31,0x 15,/*2*/

0x 04,0xc 7,0x 23,0x C3,0x 18,0x 96,0x 05,0x9a,0x 07,0x 12,0x 80,0xe 2,0x EB,0x 27,0x B2,0x 75,/*3*/

0x 09,0x 83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa 0,0x 52,0x3b,0x B3,0x 29,0x E3,0x2f,0x84,/*4*/

0x 53,0x D1,0x 00,0x ed,0x 20,0x fc,0x B1,0x5b,0x6a,0xcb,0xbe,0x 39,0x4a,0x4c,0x 58,0x cf,/*5*/

0xd 0,0x ef,0xaa,0xfb,0x 43,0x4d,0x 33,0x 85,0x 45,0x F9,0x02,0x7f,0x 50,0x3c,0x9f,0x9f,0xa8,/*6*/

0x 51,0x a3,0x 40,0x8f,0x 92,0x9d,0x 38,0x F5,0x BC,0xb 6,0x da,0x 21,0x 10,0x ff,0x F3,0x D2,/*7*/

0xcd,0x0c,0x 13,0x EC,0x5f,0x 97,0x 44,0x 17,0x C4,0xa 7,0x7e,0x3d,0x 64,0x5d,0x 19,0x 73,/*8*/

0x 60,0x 81,0x4f,0xdc,0x 22,0x2a,0x 90,0x 88,0x 46,0x ee,0xb 8,0x 14,0x de,0x5e,0x0b,0x0db,/*9*/

0x E0,0x 32,0x3a,0x0a,0x 49,0x 06,0x24,0x5c,0x C2,0x D3,0x AC,0x 62,0x 91,0x 95,0x E4,0x 79,/*a*/

0xe 7,0x c8,0x 37,0x6d,0x8d,0x D5,0x4e,0x a9,0x6c,0x 56,0x F4,0x ea,0x 65,0x7a,0xae,0x08,/*b*/

0xba、0x 78、0x 25、0x2e、0x1c、0xba、0xba、

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。