加密学教程(Cryptography Tuturials)目录

加密学教程(Cryptography Tuturials)

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

Cryptography Tutorials - Herong‘s Tutorial Notes
Version 4.00
Dr. Herong Yang
Copyright © 1998 - 2007 by Dr. Herong Yang. All rights reserved.

Table of Contents

About This Book

Terminology

  • Cryptography Terminology

Basic Concepts

  • Cryptography
  • Function
  • Encryption

Cipher - DES Algorithm

  • Block Cipher
  • DES (Data Encryption Standard) Cipher Algorithm
  • DES Key Schedule (Round Keys Generation) Algorithm
  • DES Decryption Algorithm

DES Algorithm - Illustrated with Java Programs

  • DESSubkeysTest.java - DES Key Schedule Algorithm Illustration
  • DESCipherTest.java - DES Cipher Algorithm Illustration

DES Algorithm - Java Implementation

  • CipherDES.java - A Simple Java Implementation of DES
  • Test Cases of DES Encryption and Decryption

DES Algorithm - Java JCE SUN Implementation

  • DES Java Implementation by Sun
  • Using DES Algorithm in JDK JCE Package
  • Test Cases of DES Encryption and Decryption
  • What Is PKCS5Padding?
  • JceSunDesPaddingTest.java - JCE DES Padding Testing Program

DES Algorithm - Operation Modes and JCE SUN Implementation

  • DES Encryption Operation Modes
  • What is ECB (Electronic CodeBook) Operation Mode?
  • What is CBC (Cipher Block Chaining) Operation Mode?
  • What is CFB (Cipher FeedBack) Operation Mode?
  • What is OFB (Output FeedBack) Operation Mode?
  • Sun Java Implementation of DES Operation Modes
  • JceSunDesOperationModeTest.java - JCE DES Operation Mode Testing Program
  • Test Cases of DES Operation Modes

DES Algorithm - Stream Cipher Modes and JCE SUN Implementation

  • DES in Stream Cipher Modes
  • CFB (Cipher FeedBack) Operation Mode as a Stream Cipher
  • OFB (Output FeedBack) Operation Mode as a Stream Cipher
  • Sun Java Implementation of DES Operation Modes
  • JceSunDesStreamCipherTest.java - JCE DES Stream Cipher Mode Testing Program
  • Test Cases of DES Stream Cipher Modes

DES Algorithm - PHP Implementation in mcrypt

  • mcrypt Library for PHP
  • mcrypt Encryption Functions
  • des_mcrypt_operation_mode_test.php - mcrypt Operation Mode Test PHP Script
  • Block Padding in mcrypt
  • Other PHP Implementations of DES Algorithm

JDK/JCE - Cipher for Encryption and Decryption

  • The Cipher Class
  • JceSecretCipher.java - Cipher with Secret Key
  • JcePublicCipher.java - Cipher with Private and Public Key Pair

Cipher - Blowfish Algorithm

  • Block Cipher
  • Blowfish Cipher Algorithm
  • Blowfish Key Schedule (Sub-Keys Generation) Algorithm
  • BlowfishJ - Java Implementation by Markus Hahn
  • Blowfish Decryption Algorithm
  • 8366 Hex Digits of PI

Message Digest - MD5 Algorithm

  • What is MD5?
  • MD5 Algorithm Overview
  • MD5 Implementation in Java
  • MD5 Implementation in PHP
  • MD5 Implementation in Perl

Message Digest - SHA1 Algorithm

  • What is SHA1?
  • SHA1 Algorithm Overview
  • SHA1 Implementation in Java
  • SHA1 Implementation in PHP
  • SHA1 Implementation in Perl

OpenSSL - Installation on Windows

  • What is OpenSSL?
  • Installing OpenSSL on Windows

OpenSSL - Generating RSA Private and Public Keys

  • What is RSA?
  • Generating RSA Key Pairs
  • Viewing Components of RSA Keys
  • Encrypting RSA Keys

OpenSSL - Generating Self-Signed Certificates

  • What is a certificate?
  • Generating Self-Signed Certificates
  • Viewing Components of Certificates

OpenSSL - Signing Certificates from Others

  • Why Certificates Need to Be Signed by CAs?
  • Generating a Certificate Signing Request for Your Own Public Key
  • Viewing Components of Certificate Signing Request
  • Signing a Certificate Signing Request

OpenSSL - Certification Path and Validation

  • What Is a Certification Path?
  • Certification Path Validation
  • Certification Path Testing with OpenSSL

keytool - JDK Tool to Manage Certificates Using ‘keystore‘

  • Certificates and Certificate Chains
  • What is "keystore"?
  • "keytool" - Key and Certificate Management Tool
  • "keytool" Example - Generating Key Pairs and Self-Signed Certificates
  • "keytool" Example - Exporting and Import Certificates
  • "keytool" Example - Cloning Certificates with New Identities

Using Certificates with Web Browsers

  • Why Using Certificates with Browser?
  • Exporting Certificates Out of Internet Explorer (IE)
  • Importing Certificates into IE
  • View Certificates in FireFox
  • Importing Certificates into FireFox

‘OpenSSL‘ Signing CSR Generated by ‘keytool‘

  • Using "OpenSSL" to Act as a CA (Certificate Authority)
  • "OpenSSL" Generating CA‘s Private Key
  • "OpenSSL" Self-signing CA‘s Public Key Certificate
  • "keytool" Generating Maria‘s Private Key
  • "keytool" Generating Maria‘s CSR (Certificate Sign Request)
  • "OpenSSL" Signing Maria‘s CSR (Certificate Sign Request)
  • "keytool" Managing Serial Numbers when Signing CSR
  • "keytool" Importing CA‘s Certificate into Keystore Files
  • "keytool" Importing Maria‘s Own Certificate

Migrating Keys from ‘keytool‘ to ‘OpenSSL‘

  • "keytool" Generating Private and Public Key Pair
  • "keytool" Exporting PrivateKeyEntry
  • "keytool" Printing Certificate Details
  • "OpenSSL" Viewing "keytool" Generated Certificates
  • DumpKey.java - Dumping Private Keys Out of "keystore"
  • "OpenSSL" Converting Keys from Binary to PEM
  • "OpenSSL" Viewing "keytool" Keys

Certificate Formats - X.509, DER and PEM

  • X.509 Certificate Standard
  • PEM (Privacy Enhanced Mail) Encoding
  • DER (Distinguished Encoding Rules) Encoding
  • "keytool" Exporting Certificates in DER and PEM
  • "OpenSSL" Verifying "keytool" Certificates
  • "OpenSSL" Generating Certificates in DER and PEM
  • "keytool" Viewing "OpenSSL" Certificates
  • "keytool" Importing "OpenSSL" Certificates

Key Formats PKCS#8 and PKCS#12 and Migration

  • What is PKCS#8?
  • What is PKCS#12?
  • "OpenSSL" Private Key in Traditional Format
  • "OpenSSL" Private Key in PKCS#8 Format
  • "OpenSSL" Key and Certificate in PKCS#12 Format
  • "keytool" Converting PKCS12 to JKS
  • Summary - Migrating "OpenSSL" Keys to "keytool"
  • Summary - Migrating "keytool" Keys to "OpenSSL"

References

Key Words: blowfish, CA, certificate, certification path, cipher, CSR, decryption, DER, DES, digest, encryption, Java, JCE, JDK, keytool, MD5, message, OpenSSL, PEM, PKCS#8, PKCS#12, private key, public key, RSA, secret key, self-signed certificate, SHA1, SSL, X.509

Cryptography Tutorials - Herong‘s Tutorial Notes
Version 4.00
Dr. Herong Yang
Copyright © 1998 - 2007 by Dr. Herong Yang. All rights reserved.

Table of Contents

About This Book

Terminology

  • Cryptography Terminology

Basic Concepts

  • Cryptography
  • Function
  • Encryption

Cipher - DES Algorithm

  • Block Cipher
  • DES (Data Encryption Standard) Cipher Algorithm
  • DES Key Schedule (Round Keys Generation) Algorithm
  • DES Decryption Algorithm

DES Algorithm - Illustrated with Java Programs

  • DESSubkeysTest.java - DES Key Schedule Algorithm Illustration
  • DESCipherTest.java - DES Cipher Algorithm Illustration

DES Algorithm - Java Implementation

  • CipherDES.java - A Simple Java Implementation of DES
  • Test Cases of DES Encryption and Decryption

DES Algorithm - Java JCE SUN Implementation

  • DES Java Implementation by Sun
  • Using DES Algorithm in JDK JCE Package
  • Test Cases of DES Encryption and Decryption
  • What Is PKCS5Padding?
  • JceSunDesPaddingTest.java - JCE DES Padding Testing Program

DES Algorithm - Operation Modes and JCE SUN Implementation

  • DES Encryption Operation Modes
  • What is ECB (Electronic CodeBook) Operation Mode?
  • What is CBC (Cipher Block Chaining) Operation Mode?
  • What is CFB (Cipher FeedBack) Operation Mode?
  • What is OFB (Output FeedBack) Operation Mode?
  • Sun Java Implementation of DES Operation Modes
  • JceSunDesOperationModeTest.java - JCE DES Operation Mode Testing Program
  • Test Cases of DES Operation Modes

DES Algorithm - Stream Cipher Modes and JCE SUN Implementation

  • DES in Stream Cipher Modes
  • CFB (Cipher FeedBack) Operation Mode as a Stream Cipher
  • OFB (Output FeedBack) Operation Mode as a Stream Cipher
  • Sun Java Implementation of DES Operation Modes
  • JceSunDesStreamCipherTest.java - JCE DES Stream Cipher Mode Testing Program
  • Test Cases of DES Stream Cipher Modes

DES Algorithm - PHP Implementation in mcrypt

  • mcrypt Library for PHP
  • mcrypt Encryption Functions
  • des_mcrypt_operation_mode_test.php - mcrypt Operation Mode Test PHP Script
  • Block Padding in mcrypt
  • Other PHP Implementations of DES Algorithm

JDK/JCE - Cipher for Encryption and Decryption

  • The Cipher Class
  • JceSecretCipher.java - Cipher with Secret Key
  • JcePublicCipher.java - Cipher with Private and Public Key Pair

Cipher - Blowfish Algorithm

  • Block Cipher
  • Blowfish Cipher Algorithm
  • Blowfish Key Schedule (Sub-Keys Generation) Algorithm
  • BlowfishJ - Java Implementation by Markus Hahn
  • Blowfish Decryption Algorithm
  • 8366 Hex Digits of PI

Message Digest - MD5 Algorithm

  • What is MD5?
  • MD5 Algorithm Overview
  • MD5 Implementation in Java
  • MD5 Implementation in PHP
  • MD5 Implementation in Perl

Message Digest - SHA1 Algorithm

  • What is SHA1?
  • SHA1 Algorithm Overview
  • SHA1 Implementation in Java
  • SHA1 Implementation in PHP
  • SHA1 Implementation in Perl

OpenSSL - Installation on Windows

  • What is OpenSSL?
  • Installing OpenSSL on Windows

OpenSSL - Generating RSA Private and Public Keys

  • What is RSA?
  • Generating RSA Key Pairs
  • Viewing Components of RSA Keys
  • Encrypting RSA Keys

OpenSSL - Generating Self-Signed Certificates

  • What is a certificate?
  • Generating Self-Signed Certificates
  • Viewing Components of Certificates

OpenSSL - Signing Certificates from Others

  • Why Certificates Need to Be Signed by CAs?
  • Generating a Certificate Signing Request for Your Own Public Key
  • Viewing Components of Certificate Signing Request
  • Signing a Certificate Signing Request

OpenSSL - Certification Path and Validation

  • What Is a Certification Path?
  • Certification Path Validation
  • Certification Path Testing with OpenSSL

keytool - JDK Tool to Manage Certificates Using ‘keystore‘

  • Certificates and Certificate Chains
  • What is "keystore"?
  • "keytool" - Key and Certificate Management Tool
  • "keytool" Example - Generating Key Pairs and Self-Signed Certificates
  • "keytool" Example - Exporting and Import Certificates
  • "keytool" Example - Cloning Certificates with New Identities

Using Certificates with Web Browsers

  • Why Using Certificates with Browser?
  • Exporting Certificates Out of Internet Explorer (IE)
  • Importing Certificates into IE
  • View Certificates in FireFox
  • Importing Certificates into FireFox

‘OpenSSL‘ Signing CSR Generated by ‘keytool‘

  • Using "OpenSSL" to Act as a CA (Certificate Authority)
  • "OpenSSL" Generating CA‘s Private Key
  • "OpenSSL" Self-signing CA‘s Public Key Certificate
  • "keytool" Generating Maria‘s Private Key
  • "keytool" Generating Maria‘s CSR (Certificate Sign Request)
  • "OpenSSL" Signing Maria‘s CSR (Certificate Sign Request)
  • "keytool" Managing Serial Numbers when Signing CSR
  • "keytool" Importing CA‘s Certificate into Keystore Files
  • "keytool" Importing Maria‘s Own Certificate

Migrating Keys from ‘keytool‘ to ‘OpenSSL‘

  • "keytool" Generating Private and Public Key Pair
  • "keytool" Exporting PrivateKeyEntry
  • "keytool" Printing Certificate Details
  • "OpenSSL" Viewing "keytool" Generated Certificates
  • DumpKey.java - Dumping Private Keys Out of "keystore"
  • "OpenSSL" Converting Keys from Binary to PEM
  • "OpenSSL" Viewing "keytool" Keys

Certificate Formats - X.509, DER and PEM

  • X.509 Certificate Standard
  • PEM (Privacy Enhanced Mail) Encoding
  • DER (Distinguished Encoding Rules) Encoding
  • "keytool" Exporting Certificates in DER and PEM
  • "OpenSSL" Verifying "keytool" Certificates
  • "OpenSSL" Generating Certificates in DER and PEM
  • "keytool" Viewing "OpenSSL" Certificates
  • "keytool" Importing "OpenSSL" Certificates

Key Formats PKCS#8 and PKCS#12 and Migration

  • What is PKCS#8?
  • What is PKCS#12?
  • "OpenSSL" Private Key in Traditional Format
  • "OpenSSL" Private Key in PKCS#8 Format
  • "OpenSSL" Key and Certificate in PKCS#12 Format
  • "keytool" Converting PKCS12 to JKS
  • Summary - Migrating "OpenSSL" Keys to "keytool"
  • Summary - Migrating "keytool" Keys to "OpenSSL"

References

Key Words: blowfish, CA, certificate, certification path, cipher, CSR, decryption, DER, DES, digest, encryption, Java, JCE, JDK, keytool, MD5, message, OpenSSL, PEM, PKCS#8, PKCS#12, private key, public key, RSA, secret key, self-signed certificate, SHA1, SSL, X.509

时间: 2024-11-10 12:59:17

加密学教程(Cryptography Tuturials)目录的相关文章

加密学教程(Cryptography Tuturials)文件夹

加密学教程(Cryptography Tuturials) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 Cryptography Tutorials - Herong's Tutorial Notes Version 4.00 Dr. Herong Yang Copyright ? 1998 - 2007 by Dr. Herong Yang. All rights reserved. Tab

React Native之React速学教程(下)

概述 本篇为<React Native之React速学教程>的最后一篇.本篇将带着大家一起认识ES6,学习在开发中常用的一些ES6的新特性,以及ES6与ES5的区别,解决大家在学习React /React Native过程中对于ES6与ES5的一些困惑. ES6的特性 何为ES6? ES6全称ECMAScript 6.0,ES6于2015年6月17日发布,ECMAScript是ECMA制定的标准化脚本语言.目前JavaScript使用的ECMAScript版本为ECMAScript-262.

React Native之React速学教程(上)

概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解. What's React React是一个用于组建用户界面的JavaScript库,让你以更简单的方式来创建交互式用户界面. 当数据改变时,React将高效的更新和渲染需要更新的组件.声明性视图使你的代码更可预测,更容易调试. 构建封装管理自己的状态的组件,然后将它们组装成复杂的用户界面.由于组件逻辑是用

React Native之React速学教程(中)

概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解. What's React React是一个用于组建用户界面的JavaScript库,让你以更简单的方式来创建交互式用户界面. 当数据改变时,React将高效的更新和渲染需要更新的组件.声明性视图使你的代码更可预测,更容易调试. 构建封装管理自己的状态的组件,然后将它们组装成复杂的用户界面.由于组件逻辑是用

Android基础入门教程——0.教程引言与目录

Android基础入门教程--0.教程引言与目录 标签(空格分隔): Android基础入门教程 好吧,先自夸一下: 使用Markdown来写blog,使用Android Studio来开发Android程序, 除了基础讲解,还会结合实际开发中用到的,遇到的进行学习,跟着路线图学习 事半功倍,希望给各位Android初学者带来便利~相信你会慢慢喜欢上这个教程的! 另外该教程除了在csdn上发布外,还可以在w3c菜鸟笔记上发布,当然后者是FK排版 过的,看起来比会比csdn上的好看一些,这里同时感

2016计算机专业考研:c++大学教程第二版目录(上)

2016计算机专业考研:c++大学教程第二版目录,本文为上半部分,专业课的复习,读书很重要: 第1章计算机与C++编程简介 1.1 简介 1.2 什么是计算机 1.3计算机组成 1.4 操作系统的变革 1.5 个人计算.分布式计算与客户/服务器计算 1.6 机器语言.汇编语言和高级语言 1.7 C语言与C++的历史 1.8 C++标准库 1.9 Java.Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.1

2016计算机专业考研:c++大学教程第二版目录(下)

2016计算机专业考研:c++大学教程第二版目录,本文为下半部分,专业课的复习,读书很重要: 第8章_运算符重载 8.1 简介 8.2 运算符重载的基础 8.3 运算符重载的限制 8.4 用作类成员与友元函数的运算符函数 8.5 重载流插入与流读取运算符 8.6 重载一元运算符 8.7 重载二元运算符 8.8 实例研究:Array类 8.9 类型之间的转换 8.10 实例研究:String类 8.11 重载++与-- 8.12 实例研究:Date类 小结 术语 自测练习 自测练习答案 练习 第9

(转) HTTP &amp; HTTPS网络协议重点总结(基于SSL/TLS的握手、TCP/IP协议基础、加密学)

HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手.TCP/IP协议基础.加密学) 原文:http://blog.csdn.net/itermeng/article/details/78517364 原文地址:https://www.cnblogs.com/liujiacai/p/8325931.html

laravel5.4 登录注册MD5加密方式教程

上次写过一篇文章<laravle5.4修改成MD5验证加密方式>,这样做有一个缺点,是把整个框架的加密方式都修改了,今天分享的是针对注册登录的MD5加密方式,不影响其他hash加密. 转载请注明(B5教程网)原文链接:http://www.bcty365.com/content-153-5886-1.html 具体步骤如下 1.在app目录下,新建一个文件Libraries,在Libraries目录下新建一个MD5.php文件,里面代码如下: <?php namespace App\Li