当客户向我的服务器询问许可证时,我正在制作许可证系统,如果允许他们拥有许可证,我会向他们发送许可证.
在我当前的系统上,我使用单个私钥加密许可证,并将公钥嵌入客户端应用程序中,用于解密许可证.有用!
其他人告诉我,我应该使用服务器上的公钥加密并将私钥分发给客户端.我搜索过网络,可以看到有时他们使用私钥加密,有时他们使用公钥加密.
在这种情况下,我该怎么办?
我在医院工作,并且在保险已履行义务之后,以及在提供任何服务之前,已经开发出一种方法来估计患者对服务的总体财务责任.许多患者都在呼唤报价,我想找到一种安全的方式,根据他们的要求将这些结果通过电子邮件发送给患者.
我正在考虑从生成的报价中删除所有患者信息,因此不存在任何安全问题,但希望找到一种方法来加密电子邮件,发送电子邮件,并允许患者的电子邮件客户端解密电子邮件.
我不确定如何使用安全证书,虽然它们可能是我的最佳选择,即使我必须跳过公司篮球才能获得访问面向互联网的托管证书,除电子邮件以外的所有应用程序都是医院只有一面.
我还在考虑从生成的信件中创建PDF并加密PDF,将他们在报价生成过程中与他们共享的社交或其他私人信息的最后四个分配为密码.
我是加密的新手.
在公钥加密中,我们有一对密钥 - 一个用于加密,一个用于解密.
如果Alice希望Bob发送她的秘密消息,她会发布她的加密密钥(它将被称为公钥)并保密解密密钥(它将被称为私钥).Bob使用Alice公钥加密消息,Alice使用她的私钥解密Bob的消息.
直到现在我认为我们都同意.
现在让我们看看签名会发生什么.Alice希望向Bob发送消息并签名以证明Bob拥有她的Alice所拥有的消息.签名旨在解决身份验证问题.使用公钥加密,签名是用Alice私钥加密消息(例如校验和)消息,并由Bob用Alice公钥解密.由于只有Alice知道它的私钥,因此Bob可以确定该消息来自Alice.
该如何签名解释在这里:
诸如RSA之类的一些非对称算法(公钥算法)允许该过程也在相反的方向上工作:消息可以用私钥加密并用相应的公钥解密.如果收件人想要使用Bob的公钥解密邮件,他/她必须知道该邮件来自Bob,因为没有其他人拥有发件人的私钥.数字签名以这种方式工作.
我很困惑的是Alice用于加密签名的私钥是什么?因此,签名我们使用:
我想加密诸如'HELO1234之类的消息然后解密以获得原始消息.我在matlab中编写了RSA代码,但该代码无法正常工作.
参数计算
temp=1;
range=1:10;
k=isprime(range)
prime_mat=range(find(k))
p=randsample(prime_mat,1);
q=randsample(prime_mat,1);
if(p~=q)
n=p*q;
phi_n=(p-1)*(q-1);
u=1:phi_n -1;
end
while temp
enckey=randsample(u,1);
deckey=randsample(u,1);
if(enckey~=deckey)
if(gcd(enckey,phi_n)~=1 ...
&& gcd(deckey,phi_n)~=1 ...
&&gcd(enckey*deckey,phi_n)~=1)
temp=1;
else
temp=0;
end
end
end
Run Code Online (Sandbox Code Playgroud)
加密过程
char t= 'hello123';
t=uint8(t);
len=length(t)
pow=[];
cipher_text=[];
for i=1:len
pow=[pow;t(i).^(enckey)]; %each element of the pt matrix(plain text) is raised to the power of encryption key(enc_key) and stored in pow matrix(power matrix)
cipher_text=[cipher_text;mod(pow(i),n)];% cipher text is calculate
Run Code Online (Sandbox Code Playgroud)
d
输出加密过程
k =
0 1 1 0 1 0 …Run Code Online (Sandbox Code Playgroud) 我正试图理清我对数字签名和加密的使用.我知道有两种主要方法可以做到这一点:PGP方式和SSL方式.
我想知道是否可以为SSL证书和GnuPG使用相同的私钥,前提是这是一个RSA 2048位密钥.
我已经有一个由CA签名的SSL证书,所以我希望将该证书的私钥用作GnuPG主私钥.
我知道我们不能以这种方式在SSL和GnuPG之间进行断言,但我想只有一个私钥(因此只需要保护一个数据)
谢谢
如何获取VeriSign等网站以及使用https(安全协议)的所有其他网站的公钥?
我不确定之前是否有类似的问题(我找不到任何问题),但是有可能保护客户端/服务器免受中间人攻击吗?
我正在编写一个客户端应用程序来与Server通信.通信将基于SSLv3.我可以使用服务器的自签名证书,但担心其他人在同一服务器名称中生成相同的自签名证书并假装是它.我的客户端应用程序使用OpenSSL库.[客户端和服务器是基于节俭的,如果它有任何区别].我是否可以在保持对自签名证书的支持的同时避免此类攻击?
我正在为某些系统生成更新,我想加密更新以保持我的签名的机密性,完整性和有效性.我想用我的私钥加密文件并将它们发送到我的客户端,以便他们可以使用我的公钥解密它.但GPG的工作方式是使用public进行加密,使用private进行解密.我不想发送我的私钥,以便我可以更改它并将公钥发送给其他任何人.知道如何做到这一点???
我正在尝试找到我正在使用的证书的base64公钥.我在证书的详细信息选项卡中找到的公钥不是base64,我被要求提供base64公钥.
有没有办法获得base64版本的公钥?可以通过从证书中获取公钥并将其加密到base64来完成吗?例如,下面是我为证书找到的公钥:
"30 82 01 0a 02 82 01 01 00 bc 39 25 06 5d 99 a4 05 5f e7 fc 59 1f 28 b5 48 d2 0d 2e ea aa eb ed 74 ef c9 2f 90 f8 ad 96 80 24 0f c2 dc 71 58 ea 3e fa 5c c9 29 87 51 7c cb 54 28 7c f9 10 15 b0 ac 8f eb 9e d3 d7 70 35 93 8a c7 1f 45 97 …
是否有可能存储在一个源例如RSA公钥/私钥byte[]或string或任何其他container与使用该密钥用于加密/解密?
文件中的解码函数如下所示:
void Decode(const string& filename, BufferedTransformation& bt)
{
// http://www.cryptopp.com/docs/ref/class_file_source.html
FileSource file(filename.c_str(), true /*pumpAll*/);
file.TransferTo(bt);
bt.MessageEnd();
}
Run Code Online (Sandbox Code Playgroud)
从文件加载密钥不是我想要的.
我知道它必须是可能的,因为我可以创建密钥AutoSeededRandomPool.
我只是不知道如何使用现有的.
也许我在文档中忽略了这一部分.
encryption ×4
cryptography ×2
gnupg ×2
private-key ×2
rsa ×2
ssl ×2
base64 ×1
c++ ×1
crypto++ ×1
drm ×1
email ×1
https ×1
java ×1
linux ×1
matlab ×1
openpgp ×1
openssl ×1
php ×1
public-key ×1
x509 ×1