典型密码算法C语言实现 内容简介

《典型密码算法C语言实现》详细讲述了一些典型密码算法的算法原理及C语言实现。书中密码算法包括:序列密码、分组密码、公钥密码和Hash算法,其中序列密码有祖冲之算法,分组密码有DES和SM4算法,公钥密码有RSA公钥密码体制、ElGamal密码体制、Paillier密码体制、NTRU密码体制、ECC密码体制、背包密码体制、SM2密码体制和McEliece密钥体制,Hash算法主要包括最新的第三代Hash算法SHA-3的5个代表算法。

《典型密码算法C语言实现》适合大学计算机、信息安全、密码学等相关专业本科生及研究生作为教学与参考用书,也可作为密码科学研究人员和工程开发人员参考用书。

典型密码算法C语言实现 目录

第1章 祖冲之算法原理与实现

第2章 DES算法原理与实现

第3章 AES密码算法原理与实现

第4章 SM4算法原理与实现

第5章 MH背包公钥密码算法原理与实现

第6章 RSA算法原理与实现

第7章 Paillier算法原理与实现

第8章 NTRU算法原理与实现

第9章 EIGamal算法原理与实现

第10章 椭圆曲线公钥密码算法原理与实现

第11章 SM2算法原理与实现

第12章 McEliece算法原理与实现

第13章 SHA-3候选算法原理与实现

参考文献

典型密码算法C语言实现 精彩文摘

第1章 祖冲之算法原理与实现

祖冲之算法集,包括祖冲之算法(以下简称ZUC算法)、128-EEA3加密算法和128-EIA3完整性算法,是我国自主设计的密码算法体系中一个新的研究成果。该算法集是由我国中科院数据保护和通信安全研究中心设计研制,2010年6月首次发表,已经被国际组织3GPP批准成为4G无线通信的第三套国际加密和完整性标准算法。这是我国商用密码算法首次走出国门,参与国际竞标,对我国移动通信产业和商用密码产业的发展具有十分重要的意义。

1.1 算法描述

ZUC算法是一个面向字的流密码.它需要一个128位的初始密钥和一个128位的初始向量作为输入,输出为一串32位字的密钥流,其中密钥流可以用来加密或解密。该算法的执行分为两个阶段:初始化阶段和工作阶段。在第一阶段中,首先将密钥和初始向量进行初始化,密码算法运行但不产生输出。第二阶段中,每一个时钟脉冲,均会控制产生一个32位字的输出。

ZUC密钥流算法整体逻辑结构见图1-l,由一个顶层的16段的线性反馈移位寄存器(Linear Feedback Shifting Register,LFSR)、中间层比特重组(BR)和底层非线性函数F组成。图中符号所表示的具体含义在后文中逐步介绍。

ZUC算法中所需的符号和惯例如下所示。

1.基

一般的整数被表示成十进制、十六进制或二进制的数字。通常我们使用前缀“OX”表示十六进制,下标“2”表示二进制。

密码学:c/c 语言实现 pdf,典型密码算法C语言实现pdf相关推荐

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

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

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

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

  3. 基础密码算法c语言实现,国密SM2密码算法的C语言实现

    邢维哲 [摘要] N.Koblitz和V.Miller在1985年各自獨立地提出将椭圆曲线应用于公钥密码系统.SM2椭圆曲线密码算法是国家密码管理局批准的一组算法,在电力自动化通讯中得到了广泛应用.本 ...

  4. c语言常用算法pdf,妙趣横生的算法(C语言实现 第2版) 带目录完整pdf[94MB]

    <妙趣横生的算法(C语言实现 第2版)>是深受广大读者好评的<妙趣横生的算法(C语言实现)>一书的全新升级版.本书在第1版的基础上对原书内容做了大量的调整和补充,并将书中的实例 ...

  5. c语言循环队列入列算法,C语言——循环队列和链队列的基本运算

    // 循环队列 #include #include "SeqQue.h" // 循环队列的基本运算 /* const int maxsize = 20; typedef struc ...

  6. ECC椭圆密码算法c语言实现,深入浅出椭圆加密算法ECC

    前言 同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开 ...

  7. C语言约瑟夫报数出圈算法,c语言实现约瑟夫环问题

    (一)基本问题 1.问题描述 设有编号为1,2,-,n的n(n>0)个人围成一个圈,每个人持有一个密码m.从第一个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m ...

  8. c语言 floyd优化,Floyd(弗洛伊德)算法(C语言)

    Floyd算法的介绍 算法的特点 弗洛伊德算法是解决任意两点间的最短路径的一种算法,可以正确处理有向图或有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭包. 算法的思路 ...

  9. r语言实现模糊c均值算法,R语言基本统计分析方法(包及函数)

    转载自:http://blog.csdn.net/s04023083/article/details/40344273 摘要:目前经典的统计学分析方法主要有回归分析,Logistic回归,决策树,支持 ...

最新文章

  1. python 异常处理 实例_Python 异常处理(示例代码)
  2. main函数的参数详解,它们是何时何处传入的?(main函数的参数值是从操作系统命令行上获得的)
  3. vc2010中开始执行不调试灰的_反编译动态调试smali全过程
  4. 从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境
  5. GROUP BY 和 ORDER BY 同时使用问题
  6. zookeeper centos7 集群部署
  7. php基本函数对象,PHP常用函数对象_PHP教程
  8. yii2.0AR两表联查
  9. loadrunner工具的组成
  10. libcurl 多线程使用注意事项 - Balder~专栏 - 博客频道 - CSDN.NET
  11. 【今日CV 视觉论文速览】 19 Nov 2018
  12. android elf 加固_Android常见App加固厂商脱壳方法的整理
  13. 华为Mate 20 X(5G)评测:6199元的5G双模旗舰手机
  14. iPad入手必备手册——iPad Mini 使用手册(适用于iOS 6软件 )
  15. iOS逆向之微信和支付宝修改步数 简洁无脑版
  16. 隐藏IIS响应头信息
  17. 3D游戏的碰撞检测是如何实现的?
  18. win32 python查找文字指定格式 win32com 定位word开始结束 相当于发送快捷键
  19. HTML5与视频传输_拔剑-浆糊的传说_新浪博客
  20. Paper写作查重需要注意哪些问题?

热门文章

  1. 手机通过ESP8266(WiFi)控制stm32f103c8t6的洒水小车
  2. 苹果4s什么时候上市的_每天吃苹果有哪些好处?什么时候吃苹果最好?
  3. 在k8s上安装fluentd收集日志
  4. 安卓模拟器之王genymotion图文安装教程
  5. 贪吃蛇小游戏java实现代码分析
  6. VQA_v2数据集预处理
  7. DirectX SDK(June 2010)安装提示S1023报错的解决方法.
  8. 去除字符串中的空格(c++)
  9. 用户运营中,数据分析给与企业的三个精准帮助
  10. 在线MySQL,SQL Server建表语句生成JSON测试数据工具