密码学的起源:

可以追溯至古埃及时代的象形文字,经过长期的发展演进形成了当前的基于计 算机的密码体制与算法。 密码学所采用的数学工具也由简单的代数逐渐地涵盖到了信息论数论概率论近似代数 等多个学科领域。

古典密码基本的加密思想和方法在现代加密技术中仍在使用,其加密方式多采用了替代技术置换技术

(痛苦数论)


替代技术:

原理:将明文P中的每个元素按照某种映射关系F,映射到另一个集合C的元素技术。
例如:

P:ABCDEFG

F : 按照字母顺序表向下位移3位的规则替换

C:DEFGHIJ


Vigenère算法(内含代码实现)

Hill算法(内含代码实现)


置换技术:

置换技术是在不丢失信息的前提下对明文中的元素进行重新排列,以打乱明文字母的位置顺序
定义在有限集X上的一个置换是一个双射函数f:X→X
即对于任意的y∈X,存在唯一的x∈X使得f(x)=y,从而可以定义置换f的逆置换f^−1:X→X
f^−1(y)=x
当且仅当f(x)=y
其中,f^-1也是X上的一个置换。

【密码学/信息安全】#3 古典密码(含代码)相关推荐

  1. 1.密码学概念及古典密码

    一.前言 信息安全面临的威胁无处不在,多为人为威胁,也就是对信息的人为攻击,人为攻击可分为被动攻击和主动攻击. 被动攻击:即为窃听,分为两类:一类是消息内容获取:另一类是业务流分析,如获取消息的格式, ...

  2. 信息安全实验-古典密码算法

    1.实验步骤 古典密码算法曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密. (1)替代密码 替代密码算法的原理是使用替代法进行加密,就是对明文中的字符用其他字符替代后形成密文.例如,明 ...

  3. 实验吧-密码学-传统知识+古典密码(六十甲子年)

    题目信息:小明某一天收到一封密信,信中写了几个不同的年份辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳.信的背面还写有"+甲子",请解出这段密文. 提示了甲子年,于是找到甲子年的表 ...

  4. Django1.6 用Form实现注册登录注销修改密码(含代码!)

    参照了潘军杰的博客,但他Django版本有点老了,改动了不少东西,总体来说参考价值还是很大的,点http://www.2goo.info/blog/panjj/Django/2010/06/05/94 ...

  5. 信息安全密码学实验一:古典密码算法的设计与实现

    古典密码算法的设计与实现 1.仿射密码 加法密码和乘法密码结合就构成仿射密码,仿射密码的加密和解密算法是: C=Ek(m)=(k1m+k2)mod n D=(c-k2)mod n package cz ...

  6. 古典密码算法实验c语言,2021信息安全 实验一 古典密码算法C语言.docx

    2021信息安全 实验一 古典密码算法C语言.docx 信息安全信息安全 实验一实验一 古典密码算法古典密码算法 C C 语言语言 信息安全实验报告 课程名称 _ 专业计算机科学与技术 _2010_级 ...

  7. 有趣的密码学介绍~古典密码之凯撒密码来咯~

    游说万乘苦不早,著鞭跨马涉远道.仰天大笑出门去,我辈岂是蓬蒿人! 文章目录 前言 正文 古典密码 一.古典密码概述介绍 1.置换密码 2.代换密码 二.古典密码分类介绍 1.置换密码 2.编辑本段代换 ...

  8. (密码学实验)两种基本古典密码设计与实现—C语言—随机全排列应用

    目录 一.实验目的 二.实验内容 三.实验过程 1.概要设计 (1)随机全排列生成程序 (2)程序逻辑图 2.详细设计 (1)密钥字法 (2)洗牌法 (3)公式法 (4)自设计随机16全排列 (5)生 ...

  9. 密码学实验报告c语言程序,密码学_实验一_古典密码算法_C语言.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp实验设计 密码学_实验一_古典密码算法_C语言.doc8页 本 ...

最新文章

  1. 能力共进、价值共赢,华为传媒携手生态伙伴推动行业数字化转型和智慧化升级
  2. 栈实现队列(队列实现栈)
  3. 2021,我的年终总结......
  4. SqlSever2005 一千万条以上记录分页数据库优化经验总结【索引优化 + 代码优化】一周搞定...
  5. 基于python、jupyter-notebook 的金融领域用户交易行为分析
  6. java interface泛型_JAVA的接口泛型
  7. html5移动页面自适应手机屏幕大小,移动页面自适应手机屏幕的方法
  8. janusgraph环境搭建、janusgraph python导入csv顶点、边
  9. java 读取485_java通信 485
  10. np.max()、np.argmax()、np.maximum()、np.min()、np.argmin()、np.minimum()、np.sum()
  11. 输出一个菱形星星图案
  12. 华为matepad和华为matepadpro区别
  13. C语言完美数单循环,《程序设计基础》题库(50道)
  14. Houdini地形创建
  15. 深度信念网络_Learning
  16. 神箭手 美国亚马逊_亚马逊会摧毁美国的购物中心吗?还是会拯救它们?
  17. NOI / 1.5编程基础之循环控制——02:财务管理
  18. 解决input输入框与select下拉框水平不对齐
  19. TCP 协议如何保证可靠传输?
  20. CompletableFuture.thenCompose

热门文章

  1. GooglePlay - 排行榜及支付接入
  2. 周志华Boosting25年(一)
  3. Web.config详解+asp.net优化
  4. 浅论上海市居住证与户籍的差异(转)
  5. mysql启动错误1455_orcl-1455错误
  6. 瑜伽健身app开发功能详细说明
  7. react的props效验规则
  8. 吉林大学软件学院期末题答案(10-16级)
  9. 蓝桥杯历届试题-九宫重排
  10. 116 · 跳跃游戏 Jump Game