rsa

一台电脑上的git同时使用两个github账户

时光怂恿深爱的人放手 提交于 2020-02-19 08:46:09
一台电脑上的git同时使用两个github账户 一、总结 一句话总结:如果不能做到同时用两个,那么可以考虑只用新的 二、一台电脑上的git同时使用两个github账户 在一台电脑上,想要配置多个远程git仓库,此时需要配置多个秘钥,目前的git仓库如github都是通过使用SSH与客户端连接,如果只是固定使用单个git仓库的单个用户 (company),生成生成密钥对后,将公钥保存至github,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。 但是在实际工作中,一般公司内部都有自己的独立的git仓库(git personal .xxx.com),于是就会存在这样的情 况,在github有私人的账号personal,公司的gitlab中的工作账号company, personal 和 company 因为环境不同,必须配置不同的username和email。所以必须对每个账号分别生成独立的公钥密钥对。在链接到github时,使用 company 的公钥密钥对,链接到公司内的gitlab时,使用 company 的公钥密钥对。假设 company 的密钥文件为id_rsa, personal 的密钥文件为id_rsa_ personal . 在默认情况下,ssh总是使用id

java rsa加密(利用模数和公钥指数)

一世执手 提交于 2020-02-17 01:32:51
java 利用(利用模数和公钥指数)RSA加密 最近抓包某第二课堂软件发现加密,脱壳后找出了模数和公钥指数,并利用模数和公钥指数加密 利用到的包 import java.math.BigInteger; import java.security.interfaces.RSAPublicKey; import java.security.KeyFactory; import java.security.spec.RSAPublicKeySpec; import java.security.PublicKey; import javax.crypto.Cipher; import java.io.ByteArrayOutputStream; import java.util.Base64; 具体代码 public static final String a =

HacTM CTF Crypto RSA is easy #1

谁说胖子不能爱 提交于 2020-02-16 23:29:56
2020.2.1 HackTM CTF 的一道Crypto题 这道题很简单 给出源码: import random from my_math import next_prime from flag import flag def egcd(a, b): x, y, u, v = 0, 1, 1, 0 while a != 0: q, r = b//a, b % a m, n = x-u*q, y-v*q b, a, x, y, u, v = a, r, u, v, m, n gcd = b return gcd, x, y def gen_keys(p, q): e = 65537 n = p * q phi = (p - 1) * (q - 1) gcd, d, b = egcd(e, phi) return ((e, n), (d, n)) def enc(publickey, plain): e, n = publickey cipher = [pow(ord(char), e, n) for char in plain] return cipher def dec(pk, c): #pk = (d, n) d, n = pk plain = [chr(pow(char, key, n)) for char in c] return ''.join(plain) p =

003B-通过ssh方式连接设备

拟墨画扇 提交于 2020-02-16 20:50:05
文章目录 SSH密码登录 Huawei 设备SSH客户端,RSA公钥免密码登录 SSH密码登录 通过ssh方式远程管理网络设备,用密文的方式在网络中传输管理数据,以满足企业网络设备的安全管理要求 Secure Shell (华为上叫Stelnet) 组网拓扑图如下,R2作为ssh客户端远程登录到ssh服务器R1,华为ensp模拟器中大部分交换机不支持SSH协议,本例中使用的是AR2220设备 配置R1和R2的ip互通 R1上进入aaa模式创建用户名密码,服务类型为ssh、R1开启ssh密码认证,启动stelnet服务、设置远程登录通道vty0到4 为aaa认证模式,允许ssh登录vty List item R2测试ssh远程登录R1 配置R1和R2的ip地址,且能网络互通 [ Huawei ] sysname R1 [ R1 ] interface GigabitEthernet 0/0/0 [ R1-GigabitEthernet0/0/0 ] ip address 202.100.1.1 255.255.255.252 Feb 16 2020 14:56:41-08:00 R1 %%01IFNET/4/LINK_STATE ( l ) [ 0 ] :The line protocol IP on the interface GigabitEthernet0/0/0 has

密码学基础之RSA与不对称秘钥

限于喜欢 提交于 2020-02-16 11:43:42
密码学基础之RSA与不对称秘钥 本文主要通过RSA加解密实践,来讲述不对称秘钥的特点。 不对称秘钥和RSA 不对称秘钥 算法,也叫 公钥密码 算法。 不对称秘钥算法图示: 不对称秘钥 不对称秘钥的重要特点是加密和解密用的秘钥不相同。 和对称秘钥算法的比较 不对称秘钥的优点 不对称秘钥有一个很大的好处是可以把公钥公开,比如Alice要传送敏感数据给Bob,Bob告诉Alice公钥,Alice用公钥加密数据,通过网络传送给Bob,在传送时被攻击者Eric捕获到,Eric拿到加密的数据和公钥,但不知道私钥仍无法破解敏感信息。 哦,这个看起来很不错,比对称加密好多了,完全可以取代对称加密呀? 等等!等等!小王同学,你先别激动,我们先了解下不对称秘钥的缺点再说。 不对称秘钥的缺点 不对称秘钥算法的原理并不复杂,可以从 这篇文章 对RSA算法的原理做大概的了解。 RSA等不对称秘钥算法都存在一个限制是——慢!这个从原理很容易知道。 慢会导致不对称秘钥算法另一个限制——只能加密少量数据。 RSA算法,一次加密的数据最多和秘钥长度相同。但实际上,RSA算法一般还需要有数据填充,比如常用的RSA_PKCS1_PADDING填充,还需要减去11个字节。 1024位秘钥,所能加密的数据长度为:1024 / 8 - 11 = 117字节。 不对称加密和对称加密同时用 如果你需要加密大量的数据

Java使用BouncyCastleProvider进行RSA加解密

我们两清 提交于 2020-02-15 16:21:12
公司项目,对方的外链地址是通过 post一个地址,成功验证rsa后会进行跳转,跳转后的那个地址是最终我们需要的, 即 httpstatus=302的时候,获取header中的location 得到他的redirect地址 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.10</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>1.60</version> </dependency> package thinking.in.spring.boot; import org.apache.commons.codec.binary.Base64; import org.apache.http.Header; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods

浅谈RSA加密算法

Deadly 提交于 2020-02-14 00:23:30
一、什么是非对称加密 1、加密的密钥与加密的密钥不相同,这样的加密算法称之为非对称加密 2、密钥分为:公钥,私钥   公钥:可以对外给任何人的加密和解密的密码,是公开的 私钥:通过私钥可以生成公钥,但从公钥被认为无法生成公钥(被推导出的概率小到不考虑) 3、当将要加密的内容用公钥加密的时候,只能用私钥来解密 当将要加密的内容用私钥加密的时候,只能用公钥来解密 4、公钥与私钥的关系,利用一个简单的公式来生成公钥和私钥,即非对称加密的公钥和私钥之间存在某一个公式关系 5、常见的非对称加密算法   RSA,DSA 二、什么是RSA算法 RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及三个参数,n、e1、e2。 其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1) 互质 ;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。 (n,e1),(n,e2)就是密钥对。其中(n,e1)为 公钥 ,(n,e2)为私钥。[1] RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e2 mod n;B=A^e1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密)

RSA简单加密解密

纵饮孤独 提交于 2020-02-13 21:11:18
简介:   RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。   RSA的算法涉及三个参数, n、e1、e2 。   其中, n是两个大质数p、 q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。    e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。    (n,e1)为公钥对,(n,e2)是密钥对。   RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n;   e1和e2可以互换使用,即:A=B^e2 mod n;B=A^e1 mod n;   更详解的介绍请自行查阅相关资料.... 算法(源码) :( 注:本代码只适合小数,不适合大数 ) View Code 1 #include <stdio.h> 2 #include <iostream> 3 #include <time.h> 4 #include <math.h> 5 6 // PRIMENUMBER指定构造素数数组的元素个数,200以内的素数有39个 7 #define PRIMENUMBER 39 8 9 usingnamespace std; 10 11 bool IsPrime(long

1141. RSA Attack(RSA)

蹲街弑〆低调 提交于 2020-02-13 14:39:15
1141 越来越喜欢数论了 很有意思 先看个RSA的介绍 RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对 密钥 ,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及三个参数,n、e1、e2。 其中, n是两个大质数p、 q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1) 互质 ;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。 (n,e1),(n,e2)就是密钥对。其中 (n,e1)为 公钥 , (n,e2)为私钥。 [1] RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e2 mod n;B=A^e1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密) e1和e2可以互换使用,即: A=B^e1 mod n;B=A^e2 mod n; 这题就是一个RSA求密文的算法 因为(e2*e1)mod((p-1)*(q-1))=1。 所以 e2*e1+k*(p-1)*(q-1) = 1 运用扩展欧几里得可以求出e2 K 当然K是没有用的 再快速幂求出(c,e2)%n=B 如果e2为负值 就加上e1与(p-1)*(q-1)的乘积 1 #include <iostream> 2 #include<cstdio> 3 #include

关于RSA加密

旧城冷巷雨未停 提交于 2020-02-13 08:59:48
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及三个参数,n、e1、e2。 其中,n是两个大质数p、 q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。 (n及e1),(n及e2)就是密钥对。   RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n;   e1和e2可以互换使用,即:   A=B^e2 mod n;B=A^e1 mod n; using System.Security.Cryptography;/// <summary> /// RSA加密 /// </summary> /// <param name="publickey"></param> /// <param name="content"></param> /// <returns></returns> public static string RSAEncrypt(string publickey, string content) { publickey = @"<RSAKeyValue><Modulus