各种加密算法内部原理实现

众所周知数据对于一个公司来说,非常重要,一旦数据泄露,公司将面临非常大的威胁,因此对数据加密非常有必要,保证数据的安全性。

1 加密算法的基本原理

       加密算法目前主流分为对称加密,不对称加密,散列加密。

1.1 对称加密

       对称加密是指加密和解密使用相同密钥的加密算法,常见的对称加密算法有DES,DES3,AES加密算法。对称加密由于其加解密速度快,常被用于大量的数据加密场景,还有对传输效率要求高的场景如VPN之间的传输,但是由于其密匙不方便保存,所以适合于内部系统。

1.1.1 DES加密算法

       DES加密算法是一种分组加密算法,通过将输入的明文按64位一组,进行分组加,加密过程分为初始置换明文,分组明文,生成子密匙,密匙与明文加密,经过S盒替换,P盒替换,置换后的密文与原32位明文加密。

初始置换:初始置换是只将输入的64位明文,按照一个置换表进行置换位置,具体置换规则:初始数据里面的64是1号位,置换表的1则到了第40这个位置,那么64置换之后就到了第40这个位置、63是原来的2号位,在置换表里面是第8号位,所以63经过置换表则到了第8位,其他的位置执行同样的操作,具体操作如表1.1,表1.2,表1.3:

表1.1 初始数据表

64

63

62

61

60

59

58

57

26

55

54

53

52

51

50

49

48

47

46

45

44

43

42

41

40

39

38

37

36

35

34

34

32

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

 

 

 

 

表1.2 置换表

58

50

42

34

26

18

10

2

60

52

44

36

28

20

12

4

62

54

46

38

30

22

14

6

64

56

48

40

32

24

16

8

57

49

41

33

25

17

9

1

59

51

43

35

27

19

11

3

61

53

45

37

29

21

13

5

63

55

47

39

31

23

15

7

 

表1.3 置换后数据

7

15

23

31

39

47

55

63

62

54

46

38

30

22

14

6

3

11

18

27

35

43

51

59

1

9

17

25

33

41

49

57

8

16

24

32

40

48

56

64

6

14

22

30

38

46

54

62

4

12

20

28

36

44

52

60

2

10

18

26

34

42

50

58

 

    拿到置换后的数据后,将明文分组左右两组。将初始置换之后的数据按前32位为左边L0,后32位为右边R0。具体分组如表1.4,1.5.

表1.4 左边L0

7

15

23

31

39

47

55

63

62

54

46

38

30

22

14

6

3

11

18

27

35

43

51

59

1

9

17

25

33

41

49

57

                           

表1.5 右边R0

8

16

24

32

40

48

56

64

6

14

22

30

38

46

54

62

4

12

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值