数字签名专题

cab数字签名制作

制作证书 makecert -$ "individual" -r /sv "Smart360.PVK" /n "CN= www.smart360.cn,E=15011116466-163-com,O=lilingtong " smart360.cer 制作inf cabarc.exe -s 6144 N smart.cab zlib.dll qnviccub.dll bridge

高级数字签名之椭圆曲线数字签名算法(ECDSA)

@TOC 1. 算法简述 该算法是微软操作系统及办公软件的序列号验证算法。 ECDSA(Elliptic Curve Digital Signature Algorithm, 椭圆曲线数字签名算法) 于1999年作为ANSI标准, 并于2000年成为IEEE和NIST标准。 ECDSA算法具有速度快、强度高、签名短等有点。 3. 代码实现 Java中未对该算法做实现, 而在Bouncy

数字签名标准算法——DSA

数字签名标准算法——DSA 1. 算法简述2.模型分析3. 代码实现3.1 算法实现3.2 测试代码3.3 运行结果 1. 算法简述 RSA为经典数字签名算法 数字签名标准(Digital Signature Standard, DSS), DSS本质是ElGamal数字签名算法,DSS使用的算法成为数字签名算法(Digital Signature Algorithm, DSA

数字签名算法之RSA

数字签名算法之RSA 1.数字签名简述2. 模型分析3. 代码实现3.1 签名算法实现3.2 测试代码3.3 运行结果 1.数字签名简述 数字签名算法可以看做是一种带有密钥的消息摘要算法,并且这种密钥包含了公钥和私钥。也就是说数字签名算法是非对称加密算法和消息摘要算法的结合体。 数字签名算法是公钥基础设施(PKI)以及许多网络安全机制(SSL/TLS、VPN等)的基础。 数

最新的kali Linux源,解决apt update报错说没有数字签名

原因: 国内源的地址大部分都是http开头,这些地址早就无法使用。 解决方案: wget archive.kali.org/archive-key.asc                 //下载签名 apt-key add archive-key.asc                               //安装签名 另外,需要kali Linux更换最新的源地址:

接口安全--http数字签名

为了保证http请求数据的安全性和防篡改性。我们通常要对请求参数进行一些加密。 加密规则可以根据双方接口协商定义。这里举一个常用的加密协议例子。 1. sign加密协议 接口协议中通常会提供一个 appKey作为唯一的标识。 appSecret作为接入密钥。 例如:appkey=hh appSecret=39ertfefdsg406c7c36592d42022aaecc 请求路径 h

数字证书及其简单数字签名的实现

<!--[if !supportLists]-->1、<!--[endif]-->引导语/数字证书的应用 提到数字证书,大家首先可能想到这些。 然而其实这些也是数字证书运用很广泛的地方,可以说,数字证书是整个信息时代网络安全及其有力的一种保障。  我们可以简单的用一种很直接的方法查看我们的证书,比如右击一个exe类型的文件,打开文件的属性,然后你可以很清楚的看到数字证书这个选项。一般合格的企业都

数字证书及其简单数字签名的实现(java实现)

<!--[if !supportLists]-->1、<!--[endif]-->引导语/数字证书的应用 提到数字证书,大家首先可能想到这些。  然而其实这些也是数字证书运用很广泛的地方,可以说,数字证书是整个信息时代网络安全及其有力的一种保障。  我们可以简单的用一种很直接的方法查看我们的证书,比如右击一个exe类型的文件,打开文件的属性,然后你可以很清楚的看到数字证书这个选项。一般合格的企

数字签名是什么? 对称加密 与非对称加密

原址:点击打开链接 (一)对称加密(Symmetric Cryptography) 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。 对称加密通常使用的是相对较小的密钥,一般小于256 bit

现代密码学-数字签名

从消息认证码到数字签名 前面讲到,消息认证码无法防止否认,A,B之间共享密钥计算出MAC,A,B都能计算出MAC,对于第三方C来说,他无法证明这个MAC是A计算的还是B计算的。 通过数字签名解决问题。 A,B各自使用不同的密钥-公钥密码,A用私钥生成一个签名,B可以用A公开的公钥进行验证。 签名的生成和验证 数字签名中的两种行为:         生成消息签名         验证消

何为数字签名?

先看下非对称加密的过程: 正常情况下,最后B收到了A发来的信息”晚上小树林见“ 如果中间有个第三者的话,第三者可以截取A发给B的消息 并且自己伪造了A发给B的消息,于是B就失恋了 数字签名就是为了证明”B收到的消息是A发来的,而不是别人伪造的“ 证明点:A的privite key 只有A有 A把自己的信息经过Hash函数生成一个摘要(digest)然后用自己的private key 加密 A发给B

使用Bouncy Castle生成数字签名、数字信封

Bouncy Castle(轻量级密码术包)是一种用于 Java 平台的开放源码的轻量级密码术包,它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。最近项目上正好用到了Bouncy Castle,用于生成数字签名、数字信封,去网上找了很久,都没有找到合适的案例,而Bouncy Castle本身的文档也不多,最有用的就是官网上的Java Doc文档,因为这个问题也困扰了我好几天,最后还是通

数字签名:确保信息完整性和身份验证的关键技术

在数字时代,信息的安全性和真实性变得至关重要。数字签名作为一种电子形式的签名,提供了一种验证信息来源和确保信息完整性的方法。本文将深入探讨数字签名的概念、工作原理、应用场景以及它如何帮助提高网络安全性。 数字签名的概念 数字签名是一种加密机制,它允许个人或实体对电子文档或消息进行签名,以证明其来源并确保信息在传输过程中未被篡改。与传统的纸质签名相比,数字签名提供了更高的安全性和可验证性

加密/解密--数字信封/数字签名/数字证书

what 加密 加密:加密就是对原来为明文的文件或数据按某种算法进行处理,使其成为一 段不可读的代码,通常称为 “密文”。从而达到保护数据不被非法窃取的目的。 解密 数据加密的逆向过程,将加密的数据转换为明文 加/解密工作机制 对称密钥算法(共享密钥算法) ---使用同一个密钥对数据进行加密和解密 这就意味着对称加密技术要通信双方需要事先共享相同的密钥,若攻击者得到私钥就能截获密文

一种android安全机制-数字签名

本机制采用不对称加密算法。详细介绍如下: android客户端:     首先客户端要生成一串很长的base64串,同时将该串保存到key-value中,然后客户端带着这个base64串发送一个网络请求,从后台将数字签名的公钥下载下来,即证书下载,接下来客户端将证书导入,导入的证书应是可以获取的。    证书已经导入到前端,接下来就该用证书对我们要加密的数据进行数字签名了,将要加密的数据与之

和安全有关的那些事(非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS)

对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统开发中遇到的各种安全相关的问题,熟悉和了解这些安全技术的基本原理和使用场景还是非常必要的。本文将对非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS等这些安全领域内的技术进行一番简要的介绍,解释他们之间的关系,同时补充一些周边话题。 0. 概览--常用安全技术及其之间的关联 安全领域的技术

网络加密解密原理(三) RSA加密解密及数字签名Java实现

流程分析: 甲方构建密钥对儿,将公钥公布给乙方,将私钥保留。甲方使用私钥加密数据,然后用私钥对加密后的数据签名,发送给乙方签名以及加密后的数据;乙方使用公钥、签名来验证待解密数据是否有效,如果有效使用公钥对数据解密。乙方使用公钥加密数据,向甲方发送经过加密后的数据;甲方获得加密数据,通过私钥解密。 按如上步骤给出序列图,如下:     通过java代码实现如

网络加密解密原理(二) RSA加密解密及数字签名Java实现

RSA公钥加密算法 是1977年由 罗纳德&middot;李维斯特 (Ron Rivest)、阿迪&middot;萨莫尔 (Adi Shamir)和伦纳德&middot;阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院 工作。RSA就是他们三人姓氏开头字母拼在一起组成的。     RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密

密码学基础练习五道 RSA、elgamal、elgamal数字签名、DSA数字签名、有限域(GF)上的四则运算

1.RSA #include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#include <time.h>#define PRIME_MAX 200      //生成素数范围#define EXPONENT_MAX 200       //生成指数e范围#define Element_Max 127

2 数字签名

转载自:  http://blog.chinaunix.net/uid-7374279-id-4064434.html 基本原理:     数字签名使用密钥对(公开密钥和私有密钥),任何持有公开密钥的人都能解密、而只有加密密钥持有者(私有密钥)能够生成消息。 使用举例:     1. A生成一个非对称加密密钥,她用该密钥对明文进行加密。     2. A将公开密钥以某种方式传递给B。

软件数字签名

软件数字签名证书在证明组织内外软件应用程序的真实性和完整性方面发挥着重要作用。它提供了一条重要的防线,并向用户和开发人员保证他们可以信任应用程序。一旦应用程序被签名,任何恶意方都无法注入恶意软件或其他攻击性措施,因为软件数字签名为原始应用程序提供了完整性。 然而,灾难是无法消除的。证书可能会被泄露和被盗,并且一些坏人可能会控制它。这种妥协的后果可能是多种多样的,这可能会给组织和应用程序的用户带来

数字签名学习

1 基本概念 数字签名是一种加密技术,用于验证信息来源的身份和数据的完整性。 就是对一个东西签上自己的名;收到的人可以验证这东西是你发的;这里是用数字的方式; 对字符串也可以签名,签名以后,还是一个字符串,不过是经过签名的字符串。 密钥有公钥和私钥; 公钥是公开的,人人都知道;私钥是自己的,只有自己知道; 签上自己的名,那肯定用自己的私钥; C#代码看一下; using Syst

【区块链】椭圆曲线数字签名算法(ECDSA)

本文主要参考: 一文读懂ECDSA算法如何保护数据 椭圆曲线数字签名算法 1. ECDSA算法简介   ECDSA 是 Elliptic Curve Digital Signature Algorithm 的简称,主要用于对数据(比如一个文件)创建数字签名,以便于你在不破坏它的安全性的前提下对它的真实性进行验证。   你不应该将 ECDSA 与用来对数据进行加密的 AES(高级加密标准)相混

用数字签名的applet解决客户端文件读写

最近有个java的B/S项目,要求能在客户端读写文件,查了下资料,解决方案一般是写activex和applet,由于项目是跨浏览器的,所以activex不能满足要求,out了,只能用applet,要解决applet在客户端读写的问题,需要给applet数字签名,最后经过几番尝试,终于调试通过,现发出来给大家共享。 首先写applet了 package com.shiningway.ap

数字签名简介

http://hubingforever.blog.163.com/blog/static/17104057920118774251514/ 数字签名主要有以下几个步骤: 第一、 发方首先有一个 公钥/私钥对 ,它 将要签名的报文作为一个单向散列函数的输入,产生一个定长的散列码,一般称为消息摘要。 第二、 使用发放的私钥对散列码进行加密生成签名。将报文和签名一同发出去。

密码学(一)—— 背景、常用的密码算法简介,单向散列简介、数字签名简介

背景 密码,最初的目的就是用于对信息的加密,计算机领域的密码技术种类繁多,但随着密码学的运用,密码还用于身份认证,防止否认等功能上。最基本的,是信息加密解密分为对称加密和非对称加密,这两者的区别在于是否在加密解密时是否使用了相同的密钥。除了信息的加密解密,还有用于确认数据完整性的单向散列技术,又称魏密码检验、指纹、消息摘要。信息的加密解密与信息的单向散列的区别时,加密解密是可以通过密钥来获取其加