zoukankan      html  css  js  c++  java
  • ntp-keygen.c

    这个程序产生加密数据文件使用的的密码,遵循Autokey security protocol和NTPv4.文件名被名字和创建时间组成的头部当做前缀,后面跟有一个类型定义的描述符标签和PEM加密的数据结构并且兼容OPENSSL库。

    所有的文件名类似"ntpkey_<type>_<hostname>.<filestamp>",此处的<type>代表文件类型,<hostname>即产生文件的主机名并且<filestamp>就是以ntp秒数产生计时的时间。NTP程序期望一个通用的类似"ntpkey_<type>_whimsy.udel.edu"的通过软连接的关系。随后是一系列文件类型,第一行是文件名第二行是链接名。

    ntpkey_MD5key_<hostname>.<filestamp>

    MD5(128-bit)的密钥用来在对称密钥加密算法中计算消息摘要

    ntpkey_RSAhost_<hostname>.<filestamp>

    ntpkey_host_<hostname>

    RSA  private/public host key pair 用在公钥签名中。

    ntpkey_RSAsign_<hostname>.<filestamp>
    ntpkey_sign_<hostname>

    RSA private/public sign key pair用在公钥签名中。

    ntpkey_DSAsign_<hostname>.<filestamp>
    ntpkey_sign_<hostname>

    DSA private/public sign key pair用在公钥签名中。

    可用的摘要/签名方案

    RSA:    RSA-MD2, RSA-MD5, RSA-SHA, RSA-SHA1, RSA-MDC2, EVP-RIPEMD160

    DSA:    DSA-SHA, DSA-SHA1

    ntpkey_XXXcert_<hostname>.<filestamp>
    ntpkey_cert_<hostname>

    X509v3证书使用RSA或者DSA公钥和签名。XXX是用来识别消息摘要和签名加密算法的码。

    识别方案。key type pair被用来做挑战;key type key被用来应答。

     ntpkey_IFFkey_<groupname>.<filestamp>
     ntpkey_iffkey_<groupname>
     Schnorr (IFF) identity parameters and keys

     ntpkey_GQkey_<groupname>.<filestamp>,
     ntpkey_gqkey_<groupname>
     Guillou-Quisquater (GQ) identity parameters and keys


     ntpkey_MVkeyX_<groupname>.<filestamp>,
     ntpkey_mvkey_<groupname>

     Mu-Varadharajan (MV) identity parameters and keys

    注意:有时因为有些统计意外这个程序不能产生并且验证加密的数据,可以被返回状态为-1表明。在这种情况下只是再次运行这程序即可。如果程序的确是以返回值0结束,数据即被验证正确。

    这些加密例程可以被模数大小分类。默认值是512位,可以在加密长度和计算时间之间达成妥协,这一般应用就够了。这些例程已经被256,512,1024和2048位的大小测试过。并不是所有的消息摘要和签名加密方案都可以在小于512位的大小的情况下工作。大于2048位的计算时间在所有机器上都是不可忍受的,当然最快的处理器除外。ULTRASPARC刀锋1000需要超过9分钟来产生和验证大小是2048的模数。老的SPARC IPC可能需要整整一周。

    这一个程序使用的OPenssl库需要一个随机的种子文件。就如OPENSSL文件描述的那样,文件名默认是RANDFILE环境变量在用户的家目录然后.rnd在用户的家目录。

  • 相关阅读:
    笔记:多线程访问ConcurrentHashMap对key加锁
    根据第三列去重
    Correct the classpath of your application so that it contains a single, compatible version of org.apache.log4j.ConsoleAppender
    python 中将源配置为阿里
    criteria两个 判断
    git flow
    sqlmap用法详解
    MongoDB 入门
    MongoDB 手册
    OWASP TOP 10简单介绍
  • 原文地址:https://www.cnblogs.com/flintlovesam/p/5208588.html
Copyright © 2011-2022 走看看