《图解密码技术》阅读笔记(上)

  1. 密码学家的工具箱

对称密码,公钥密码,单向散列函数,消息认证码,数字签名,伪随机数生成器这六种技术统称为密码学家的工具箱。

2.密码与信息安全常识

(1)不要使用保密的密码算法

(2)使用低强度的密码比不进行任何加密更危险

(3)任何密码总有一天会被破解

(4)密码只是信息安全的一部分

3.对称密码(共享密钥密码)——用相同的密码进行加密和解密

比特序列运算和XOR运算,一种绝对无法被破译的密码——一次性密码本的密码系统,DES(Data Encryption Standard)、三重DES(Triple-DES)和AES(Advanced Encryption Standard,Rijndael)这几种对称密码算法。

4.分组密码的模式——分组密码是如何迭代的

5.公钥密码——用公钥加密,用私钥解密

RSA公钥密码算法

密钥对公钥数E和数N
私钥数D和数N
RSA加密 Ciphertext = Plaintext ^{^{E}} mod N
RSA解密Plaintext = Ciphertext^{_{D}} mod N

6.混合密码系统的加密解密流程

  一个Python密码破解的例子程序:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import crypt


def testPass(cryptPass):
    salt = cryptPass[0:2]
    dictFile = open('dictionary.txt', 'r')
    for word in dictFile.readlines():
        word = word.strip('\n')
        cryptWord = crypt.crypt(word, salt)
        if cryptWord == cryptPass:
            print '[+] Found Password: ' + word + '\n'
            return
    print '[-] Password Not Found.\n'
    return


def main():
    passFile = open('passwords.txt')
    for line in passFile.readlines():
        if ':' in line:
            user = line.split(':')[0]
            cryptPass = line.split(':')[1].strip(' ')
            print '[*] Cracking Password For: ' + user
            testPass(cryptPass)


if __name__ == '__main__':
    main()
dictionary.txt

apple
orange
egg
lemon
grapes
secret
strawberry
password
passwords.txt

victim: HX9LLTdc/jiDE: 503:100:Iama Victim:/home/victim:/bin/sh
root: DFNFxgW7C05fo: 504:100: Markus Hess:/root:/bin/bash

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Emilin Amy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值