密码学

      今天matlab上机课,xxx男老师又叨叨一大堆,什么字符转化数值和数值转化为字符,听者有心,讲者无心,其间还讲错一个例子,很是无语.
他讲到数值转化为字符型时候,提到密码学.我随便试了试下列代码:
a =  [20013 21335 22823 23398 25968 23398 38498];
setstr(a)
ans =中南大学数学院

s =[73    32    97   109    32   104    97   112   112   121    32   116   111   100   97   121    46]
>> setstr(s)
ans =I am happy today.

      上面看起来效果还可以,其实密码学不是上述如此简单的字符与数值型的转换.忽然想到电影<无间道>里面提到的摩丝密码,到网上随便找了一圈,真的还一大堆的东西.

 

 密码学:
 密码学是一门研究秘密信息的隐写技术的学科
 密码学技术可以使消息的内容对(除发送者和接收者以外)的所有人保密.
 可以使接收者验证消息的正确性,是解决计算机与通信安全问题重要技术之一.
 基本术语:
 密码技术(Cryptography)—把可理解的消息变换成不可理解消息,同时又可恢复原消息的方法和原理的一门科学或艺术。
 明文(plaintext )--变换前的原始消息
 密文(ciphertext) --变换后的消息
 密码(cipher )--用于改变消息的替换或变换算法
 密钥(key )--用于密码变换的,只有发送者或接收者拥有的秘密消息
 编码(encipher /encode)--把明文变为密文的过程
 译码(decipher /decode)—把密文变为明文的过程
 基本概念:Encryption  把明文变成密文的加密函数 C = EK(P)
     Decryption 把密文变成明文的加密函数 P = EK-1(C)
     key –用于加密或解密的秘密参数, 选自密钥空间 K
 (一般情况下,可以把密码系统理解成可逆的密码算法、密钥空间,即:加密算法:EK; K in K : P -> C,及唯一逆算法:P = EK-1; K in K : C -> P )
 *通常密码系统是公开的, 只有密钥是秘密信息*
 密码学算法大致分为:
 私钥加密算法(private-key encryption algorithms )
 ----分组密码,-----流密码
 公钥加密算法(public-key encryption algorithms)
 数字签名算法(digital signature algorithms )
 哈希函数(hash functions)
 密码分析(又可称为攻击):
 <密码分析学是指在没有加密密钥的情况下,攻击密文的过程>
 唯密文攻击 (ciphertext only )
    --只知道算法与一些密文
    --利用统计方法
    --需要能够识别明文
 已知明文攻击(known plaintext )
    ----知道一些明文/密文对
    ----利用已知的明文密文对进行攻击
 选择明文攻击(chosen plaintext )
    ----能够选择明文并得到响应的密文----利用算法的结构进行攻击
 选择密文攻击(chosen ciphertext )
    ----能够选择密文并得到对应的明文
    ----利用对算法结构的知识进行攻击
 选择明文-密文对攻击(chosen plaintext-ciphertext )
    ----能够选择明文并得到对应的密文或选择密文并得到对应的明文
    ----利用对算法结构的了解进行攻击
 穷密钥搜索
 理论上很简单,对每个密钥进行测试
 最基本的攻击方法,复杂度有密钥量的大小决定
 假设可以对正确的明文能够识别
 *无条件安全与计算安全
  无条件安全(unconditional security)
    由于密文没有泄露足够多的明文信息,无论计算能力有多大,都无法由密文唯一确定明文。
  计算安全(computational security )
  ----在有限的计算资源条件下,密文不能破解。
 (如破解的时间超过地球的年龄)

摩丝密码: http://zh.wikipedia.org/wiki/%E6%91%A9%E5%B0%94%E6%96%AF%E7%94%B5%E7%A0%81
维热纳尔密码: http://baike.baidu.com/view/1746628.htm?func=retitle
      看完后还突发奇想编一个类似于密码翻译器的程序,后来看到网上形形色色的软件那么多,我就不献丑了,最多验证一下转译得是否正确.
有时间的话可以随便编一个玩一玩。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值