博客专栏  >  互联网   >  openssl札记

openssl札记

openssl基础知识 openssl应用方向

关注
1 已关注
32篇博文
  • 01.openssl-基础知识笔记

    1.1 对称算法   加密:明文+密钥->密文   解密:密文+密钥->明文   对称算法主要四种加密模式 a.电子密码本模式 Electronic Code Book(ECB)   将加...

    2018-01-16 19:44
    61
  • 02.openssl编程——简介

    2.1 openssl简介 openssl是一个功能丰富且自包含的开源安全工具箱。他提供的主要功能有: SSL协议实现(SSLv2 SSLv3和TLSv1) 大量的软算法(对称/非对...

    2018-01-16 19:44
    72
  • 03.openssl编程——堆栈

    3.1    openssl堆栈 堆栈是一种先进先出的数据结构。openssl大量采用堆栈来存放数据。他实现一个通用的堆栈,可以方便的存储任意数据。他实现了许多基本的堆栈操作。主要有: a...

    2018-01-16 19:44
    69
  • 04.openssl编程——哈希表

    4.1    哈希表 在一般的数据结构如线性表和树中,记录在结构中的相对位置与记录的关键字之间不存在确定的关系,在结构中查找记录时需要进行一系列的关键字比较。这一类查找方法建立在比较的基础上,查找...

    2018-01-16 19:45
    74
  • 05.openssl内存分配

    5.1 openssl内存分配 openssl供用户调用内存分配等函数主要在crypto/mem.c中实现,其那只的分配函数在crypto/mem_dbg.c中实现。默认情况下mem.c中函数mem...

    2018-01-16 19:45
    61
  • 06.openssl动态模块加载

    6.1 动态库加载 动态库加载函数能让用户在程序中加载所需要的模块,各个平台下的加载函数是不一样。动态加载函数一般有如下功能: a.加载动态库 比如windows下的函数LoadLibraryA...

    2018-01-16 19:45
    75
  • 07.openssl编程——抽象IO

    7.1    openssl抽象IO openssl抽象(I/O abstraction,即BIO)是openssl对于io类型的抽象封装,包括:内存、文件、日志、标准输入输出、socket(TCP...

    2018-01-26 19:03
    32
  • 08.openssl编程——配置文件

    8.1    概述 openssl采用自定义的配置文件获取配置信息。 段信息,段信息由[xxx]来表示,其中xxx为段标识; 属性-值信息,表示方法为a=b,这种信息可以在一个段内页可以不属于...

    2018-01-26 19:03
    28
  • 09.openssl编程——随机数

    9.1 随机数 随机数是一种无规律的数,但是真正做到完全无规律也比较困难,所有一般将它称为伪随机数。 9.2 openssl随机数数据结构与源码 a.openssl生成随机数的源码位于c...

    2018-01-26 19:03
    65
  • 10.openssl编程——文本数据库

    10.1  概述 openssl实现了一个简单的文本数据库,他可以从文件读取数据和将数据写到文件中,兵切可以根据关键字段来查询数据。   10.2 数据结构 typedef struct t...

    2018-01-26 19:03
    32
  • 11.openssl编程——大数

    11.1 介绍 大数一般指的是位数很多的数。计算机表示的数的大小是有限的,精度也是有限的,精度也是有限的,它不能支持大数运算。密码学中采用了很多大数计算,为了让计算机实现大数运算,用户需要定义自己的...

    2018-01-26 19:03
    67
  • 12.openssl编程——BASE64编码介绍

    12.1 BASE64编码介绍 BASE64编码是一种常用的将十六进制数据转换为可见字符编码。与ASCII码相比,它占用的空间较小。BASE64编码在rfc3548中定义。   12.2 BAS...

    2018-01-26 19:03
    53
  • 13.openssl编程——ASN1库

    13.1  ASN1简介 ANS.1(Abstract Syntax Notation One, X.208),是一套灵活的标记语言,他允许定义多种数据类型,从integer、bit string、...

    2018-01-26 19:03
    65
  • 14.openssl编程——错误处理

    14.1 概述 程序设计时,一般通过函数的返回值来判断是否调用成功。设计良好的函数以及好的错误处理能版主调用者快速找到错误: *错误码 *出错文件以及行号 *错误原因 *出错函数 *出错库...

    2018-01-26 19:03
    61
  • 15.openssl编程——摘要与HMAC

    15.1 概述 摘要函数用于将任意数据通过计算获取唯一对应值,而这个值的长度比较短。他是一种多对一关系。用户需要对数据进行签名时,不可能对大的数据进行运算。如果只对摘要结果进行计算,则会提供运算速度...

    2018-01-26 19:03
    42
  • 16.openssl编程——数据压缩

    16.1 简介 数据压缩是将原有数据通过某种压缩算法计算得到相对数据量小的过程。这种过程是可逆的,即能通过压缩后的数据恢复出原数据。数据压缩能够节省存储空间,减轻网络负载。 在即需要加密又需要压缩...

    2018-01-26 19:03
    51
  • 17.openssl编程——RSA介绍

    17.1  RSA介绍 RSA算法是一个广泛使用的公钥算法。器密钥包括公钥和私钥。他能用于数字签名、身份认证以及密钥交换。RSA密钥信息主要包括: * n:模数 * e:公钥指数 * d:私钥...

    2018-01-26 19:03
    84
  • 19.openssl编程——DH

    19.1 DH算法介绍 DH算法实质是一个通信双方进行密钥协商的协议:两个实体中的任何一个使用自己的私钥和另一个实体的公钥,得到一个对称密钥,这一对称密钥其他实体都计算不出来。 首先,发送方和接收...

    2018-01-26 19:03
    80
  • 18.openssl编程——DSA

    18.1 DSA简介 Digital Signature Algorithm(DSA)算法是一种公钥算法。 a.p一个大素数,长度为L(64的正数倍)比特。 b.q一个160比特素数 c.g=...

    2018-01-26 19:04
    101
  • 20.openssl编程——椭圆曲线

    20.1 ECC介绍 椭圆曲线(ECC)算法一种公钥算法,他比流行的RSA算法很多优点: a.安全性能更高,如果160位ECC与1024位RSA、DSA有相同的安全强度 b.计算量小,处理速度快...

    2018-01-26 19:04
    215
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部