草庐IT

RSA破解

全部标签

go - 如何在 golang 中正确使用 crypto/rsa Decrypt 函数?

func(priv*PrivateKey)Decrypt(randio.Reader,ciphertext[]byte,optscrypto.DecrypterOpts)(plaintext[]byte,errerror)以上是golangcrypto/rsa库中的函数。我不太明白这里对参数opts的解释。Decryptdecryptsciphertextwithpriv.Ifoptsisniloroftype*PKCS1v15DecryptOptionsthenPKCS#1v1.5decryptionisperformed.Otherwiseoptsmusthavetype*OAEP

go - 从 openpgp.Entity 中提取 rsa.PrivateKey

RSA有几种关键格式。有没有办法从golang中的PGPkey中提取PKCS1私钥?像这样的东西(它不起作用):vare*openpgp.Entitye,err:=openpgp.NewEntity("test11","test","test@test.com",nil)iferr!=nil{fmt.Println(err)return}key,ok:=e.PrivateKey.PrivateKey.(rsa.PrivateKey)if!ok{//Hereistheprobleminthissolutionfmt.Printf("Assertationfailed")}pkcs1Pri

go - 如何将 *rsa.PublicKey 变成可识别的 key 字符串

我有这个功能:funcGetSigningKey()*rsa.PublicKey{set,_:=jwk.ParseString(GetWellKnown())publicKey,_:=set.Keys[0].Materialize()returnpublicKey.(*rsa.PublicKey)}.Materialize()返回interface{},因此我使用此函数将其转换为(我认为的)预期类型。然后我可以将该token用于:publicKey:=GetSigningKey()token,_:=jwt.Parse(tokenString,func(*jwt.Token)(inter

go - GCP IoT Core 拒绝此 RSA_PEM 公钥并出错

我尝试开发一种自动化方法来使用公共(public)RSApem证书注册新的物联网设备,但我遇到了一个问题,我不知道原因。问题是生成了RSA_PEM公共(public)pem我的自动化被GCP物联网服务器拒绝并出现错误。该错误是“位置1中设备凭证的key数据无效。确保格式正确:无效的RS256公钥”当我调试我的代码时,pem公共(public)证书看起来很好。但我不确定。我正在分享生成配对的私有(private)和公共(public)证书的代码。packagecertimport("bytes""crypto/rand""crypto/rsa""crypto/x509""encoding

php - Go - 如何从字符串设置 RSA 公钥模数?

我正在尝试使用Go的RSA包加密密码。这是我目前所拥有的:packagemainimport("fmt""time""net/http""strconv""io/ioutil""encoding/json""errors""crypto/rsa""crypto/rand"//"math/big")funcmain(){iferr:=Login("username","password");err!=nil{fmt.Println(err)}}funcLogin(username,passwordstring)error{doNotCache:=strconv.FormatInt(tim

go - 我如何在 Go 中执行确定性 RSA

我有两个go服务,我们称它们为A和B。B持有一个RSAkey对,而A只知道公钥。我想让他们知道他们是否同意某个值V。我想通过让B使用公钥加密加密V并让A进行比较来做到这一点,但是所有的crytpo/rsa函数采用RNG,它增加了熵并使V的每个散列不同。这意味着我无法比较哈希值。go标准库中是否有一个函数可以确定性地哈希V?注意:我可以通过在每次对V进行哈希运算时使用一个新的RNG来实现这一点,但我希望能够从其他语言计算这个哈希值,这会将我与Go的RNG联系起来。 最佳答案 IwanttodothisbyhavingBencrypte

go - RSA key 导出和导入

我目前正在尝试导出我创建的key,而不是导入它们以使用它们。但是如果我运行我的代码,我会收到以下错误:panic:x509:onlyRSAandECDSApublickeyssupportedgoroutine1[running]:main.main()/path/to/project/src/main.go:19+0x3bd这是我当前的代码://Createkeykey,_:=rsa.GenerateKey(rand.Reader,2048)//Messagetoencryptmessage:="histackoverflow"priv:=x509.MarshalPKCS1Priva

go - Golang中如何使用Openssl RSA公私钥对数据进行加解密?

我正在尝试编写一个使用RSA公钥加密数据并使用私钥解密数据的程序。RSAkey是使用openssl工具生成的。我找到了SpacemonkeygoOpensslhttps://github.com/spacemonkeygo/openssl为此目的包装。但无法找到任何样本,而且他们也没有可用于相同的文件。以至于我无法使用。请指导我如何在Golang中使用Openssl?我正在使用第一次加密解密和Openssl。提前致谢! 最佳答案 IamtryingtowriteaprogramwhichencryptsdatausingaRSApu

encryption - 在 Go 中使用 RSA 进行 key 交换的 AES 加密通信

我正在尝试在基于RubySinatra的网络后端和GoogleGo应用程序之间建立安全通信。Go应用程序包含公钥并最初打开连接。然后它使用其公钥加密随机生成的AES,并将其发送到Web后端。所有即将到来的(大容量)数据都将使用AESkey加密。这是一般可用的方法吗?Go代码如下所示aesRand:=make([]byte,32)rand.Read(aesRand)AESBlock,_=aes.NewCipher(aesRand)//EncryptAESkeywithRSAdata,err:=rsa.EncryptPKCS1v15(rand.Reader,PubKey,aesRand)现

json - 存储和检索 RSA 加密 key

我正在尝试构建一个API,但为了正确保护它,我认为我需要对存储在我的服务器上的私钥和客户端的公钥进行RSA加密。我已将生成的私钥存储到一个JSON文件中,我打算存储在我的服务器上,但要写入JSON,我也需要转换类型[]byte。现在,当我尝试检索私钥以生成公钥时,它不会让我为*Publickey使用类型字节我能想到的实现这个目标的唯一其他方法是为随机数生成器播种,这样我就可以在我的服务器上将种子作为一个secret,然后我的私钥应该总是生成相同的东西,这将是任何帮助太好了。packagemainimport("bytes""crypto/rand""crypto/rsa""encodi