Exempel på generering av offentliga Bitcoin-nyckel. SSL privat nyckel: hur man skapar och hittar den

Privata nycklar är en av kritiska komponenter kryptovalutanätverk och har funnits i systemet sedan starten. Moderna plånböcker avlastar användare från behovet av att förstå strukturen för privata nycklar och deras syfte. Men som praxis visar, befinner sig ofta människor som aktivt använder kryptovalutor i situationer som kräver grundläggande kunskap om enheten och funktionsprincipen för den privata nyckeln. Tänk i detalj denna komponent blockchain-system och dess funktioner. Låt oss till exempel ta det klassiska nätverket - bitcoin, som i grunden är grunden för de allra flesta kryptovalutor.

I bitcoin-nätverket är en privat nyckel helt enkelt en uppsättning siffror från 1 till 1077. Detta antal siffror är så stort att det i praktiken är praktiskt taget oändligt, och om en person hade en oändlig tillgång på tid och kunde sortera igenom en biljon privata nycklar på en sekund, att sedan plocka upp alla skulle ta en miljon gånger längre tid än vårt universums ålder. Ett stort antal alternativ Den privata nyckeln spelar en avgörande roll för att säkra Bitcoin-nätverket.

När du skapar en bitcoin-plånbok på din dator, specialfil, som innehåller två poster: privat nyckel (privat nyckel, PRIV) och offentlig nyckel (public key, PUB). Och om den privata nyckeln genereras slumpmässigt, skapas den publika nyckeln genom att hämta hashsumman från PRIV. Bildligt talat liknar detta en vanlig nyckel som sätts in i nyckelhålet, om den privata nyckeln matchar den offentliga nyckeln och vid omräkning av dessa två indikatorer motsvarar varandra, så bestämmer nätverket kryptovalutan som tillhör en specifik användare och tillhandahåller möjligheten att genomföra transaktionen.

Förhållandet mellan bitcoin-adress och privat nyckel

En Bitcoin-adress genereras baserat på en offentlig och privat nyckel. Från nycklarna som baseras, beräknas hashsumman och adressen erhålls i form av en uppsättning siffror och bokstäver i det latinska alfabetet.

Adressen krävs för att ta emot kryptovaluta eller överföra till en annan användare. Enkelt uttryckt är detta vägen till platsen för BTC i en slags reskontra. Det är oerhört viktigt att den inte innehåller information om privata och publika nycklar, de är okända för nätverket, så du måste förvara dem på en säker plats oåtkomlig för någon. Att överföra adressen till en annan användare är helt säkert för ägaren av plånboken, eftersom hashsumman är utformad på ett sådant sätt att det är omöjligt att få en offentlig nyckel, än mindre en privat nyckel, från den. Alla datorer som är anslutna till Bitcoin-nätverket är medvetna om förhållandet mellan offentliga och privata nycklar, vilket gör det möjligt att använda nycklarna för att signera transaktioner.

Transaktionsverifiering

Innan en transaktion görs skickas transaktionsdata, inklusive adress, offentliga och privata nycklar, till blockkedjan, som verifierar den mottagna informationen. Verifiering består av flera steg:

  • Blockkedjan kontrollerar om det finns ett register över mottagandet av en viss bitcoin av användaren;
  • Mottagarens adress kontrolleras, om den innehåller ett stavfel avbryts transaktionen;
  • Den digitala signaturen som tillhandahålls av btc-ägaren verifieras (kontrollerar kompatibiliteten av den privata nyckeln med den offentliga nyckeln), och transaktionen registreras på blockchain.

Efter att en kontroll har gjorts i ett block och betalningen har bekräftats, skickas data till andra noder i blockkedjan, där operationen upprepas. Efter att flera block har bekräftat transaktionen anses betalningen vara genomförd.


Alla transaktioner som har rätt signaturer accepteras av Bitcoin-nätverket och därför kan alla som äger någon annans privata nyckel stjäla pengar från plånboken. Angripare stjäl vanligtvis privata nycklar från lagringsmedia (flash) eller via kommunikationskanaler. Därför är det nödvändigt att följa strikta säkerhetsåtgärder vid lagring och transport av den privata nyckeln. Programvaruplånböcker innehåller privata nycklar i sin plånboksfil på datorns hårddisk i en standardkatalog, som är huvudmålet för cyberbrottslingar, så huvuduppgiftägaren till kryptovalutan ska tillhandahålla pålitligt skydd sina privata nycklar. Hårdvarulösningar är utmärkta för detta ändamål, speciellt om plånboken innehåller en betydande mängd kryptovaluta.

Slutsats

Enkelt uttryckt är blockchain öppet nätverköverföring av meddelanden mellan användare, vilket är skyddat kraftfullt verktyg kryptografi med offentliga nycklar. Till skillnad från andra nätverk där endast lösenord används och inloggningar i blockkedjan används för säkerhet digitala signaturer, som skapas efter samverkan mellan unika offentliga och privata nycklar.

Håll dig uppdaterad med alla viktiga United Traders-evenemang – prenumerera på vår

Vilka typer av adressmönster kan ges till vanitygen för matchning?

Kan matcha för enkla prefix och reguljära uttryck. Prefixet är strängen som startar adressen. När en adress väljs från ange prefix, Vanitygen kontrollerar att ett sådant prefix i princip är möjligt och kommer att ge en uppskattning av komplexiteten i ett sådant urval. Som standard är prefixet skiftlägeskänsligt, men du kan använda växeln -i för att söka på ett skiftlägesokänsligt sätt. Reguljära uttryck är filtermönster. De är mycket kraftfulla och kan användas för att matcha prefix, suffix, nycklar av olika längd och teckensekvenser, etc. För att använda reguljära uttryck, ange -r-växeln. Tyvärr är matchning med reguljära uttryck väldigt långsam och komplexiteten påverkar i hög grad hastigheten för att söka efter nycklar. Därför bör reguljära uttryck endast användas om det verkligen krävs. Reguljära uttryck kommer inte att fungera effektivt med oclvanitygen, som för närvarande oclvanitygen kan inte fungera med vanliga uttryck på GPU:n.

Hur kan jag ange en lista med mallar?

Vanitygen kan söka igenom en lista med mönster från kommandorad eller tagna från en fil med -f-omkopplaren. Källfilen måste utformas så att varje mall följer med ny linje. Att hitta en match Bakom denna mall, kommer vanitygen att sluta leta efter andra matchningar för det givna mönstret. För att söka efter flera matchningar, använd -k-omkopplaren.

Kan jag använda Vanitygen för att hitta någon annans privata nyckel när jag vet det bitcoin adress?

Säkert! Faktum är att Vanitygen är en nyckelväljarapp. Men för att hitta en helt matchad bitcoin-adress, även om du använder all datorkraft på planeten, behöver du en oacceptabel Ett stort antal tid.

Hur kan jag bygga vanitygen från källan?

Allt detta anges i INSTALL-filen i källdistributionen.

Vilken nyckelsökningshastighet kan jag förvänta mig av Device X?

Några grova uppskattningar:

Dubbelkärniga datorprocessorer, 32-bitarsläge: 100-250K nycklar/sek.
Dubbelkärniga datorprocessorer, 64-bitarsläge: 150-450K nycklar/sek.
Fyrkärniga datorprocessorer, 32-bitarsläge: 200-400K nycklar/sek
Fyrkärniga stationära processorer, 64-bitarsläge: 300-750K nycklar/sek.
NVIDIA GT200 GPU:er: upp till 6,5 miljoner nycklar/sek
AMD Radeon 58XX, 68XX GPU:er: upp till 23,5 miljoner nycklar/s
AMD Radeon 69XX GPU:er: upp till 19,5 miljoner nycklar/sek.

vanitygen utför många stora heltal aritmetiska operationer, och kör verktyget på 64 bitsystem ger en betydande ökning av nyckelsökningshastighet, cirka 50 % ökning jämfört med 32-bitars. För 64-talet bitversion Windows, förutsatt att du använder en icke-GPU, glöm inte att använda vanitygen64.exe.

Radeon 58XX överträffar Radeon 69XX. Oclvanitygen använder heltalsmultiplikation, medan Radeon 58XX gör multiplikationen parallellt med andra operationer. På samma tid kommer Radeon 5830 att överträffa Radeon 6970.

I specialbyggda CPU-prestanda kommer att vara mindre än förväntat om OpenSSL-bibliotek gammal version (<1.0.0d) либо не собирались с включённой оптимизацией.

Hur skyddar man adressen som genereras av detta program? Kan någon reda ut min privat nyckel och stjäla min BTC?

Vanitygen använder OpenSSL för att generera slumptal. Detta är samma RNG (Random Number Generator) som används i bitcoin och de flesta servrar som använder HTTPS. De anses vara väl studerade. På Linux är RNG:er hämtade från /dev/urandom. Att gissa den privata nyckeln för en adress handplockad av vanitygen är inte lättare än att gissa den privata nyckeln som genereras av själva bitcoinapplikationen. Vanitygen använder en slumptalsgenerator för att generera en privat nyckel och adresser genom att jämföra de resulterande adresserna med det ursprungliga mönstret. Den uppdaterar den privata nyckeln efter 10 000 000 misslyckade försök (100M för oclvanitygen), eller tills en matchning hittas

Vilka alternativ kan ställas in med Vanitygen-nycklar?

V Utförlig utdata -q Tyst utdata -i Skiftlägesokänslig prefixsökning -k Behåll mönstret och fortsätt sökningen efter att ha hittat en matchning -N Generera namnmyntadress -T Generera bitcoin testnätadress -X Generera adress med den givna versionen -e Kryptera privata nycklar, fråga efter lösenord -E Kryptera privata nycklar med (OSÄKER) -s Välj OpenCL-plattform -d Välj OpenCL-enhet -D Använd OpenCL-enhet, identifierad av enhetssträng Form: :< devicenumber>[,] Exempel: 0:0,grid=1024x1024 -S säkert läge, inaktivera OpenCL loop unrolling optimizations -w Ställ in arbetsartiklar per tråd i en arbetsenhet -t Ställ in måltrådantal per multiprocessor -g x Ställ in rutstorlek -b Ställ in modulära inversa operationer per tråd -V Aktivera kärna/OpenCL/hårdvaruverifiering (SLOW) -f Fil som innehåller lista med mönster, en per rad (Använd "-" som filnamn för stdin) -o Skriv mönstermatchningar till< filе>-s Seed slumptalsgenerator från< filе>


Är det möjligt att söka efter adresser tillsammans?

Det är absolut nödvändigt att få tillgång till den privata nyckeln SSL-certifikat men var helt under din kontroll. Om den privata nyckeln finns på en säker plats och inte är tillgänglig för utomstående, det garanterar säkerhet personlig information alla användare av din webbplats.

Om du inte vet var din privata nyckel är lagrad, i den här artikeln hittar du information om var du kan hitta den om det behövs, hur du säkerställer dess säkerhet och hur du skapar ny nyckel, i händelse av förlust eller kompromiss av den föregående.

Säkerhet för den privata SSL-nyckeln

Organisationer som utfärdar SSL-säkerhetscertifikat har inte tillgång till din privata (eller privata) krypteringsnyckel - och borde inte ha - eftersom privata nycklar skapas på användarnivå, det vill säga på din server eller dator. Även om du genererar en CSR-förfrågan och en privat nyckel på vår sida måste du ha den hos dig, eftersom ingen information om nyckeln lagras på vår server.

De två huvudfaktorerna som den kryptografiska säkerheten för en privat nyckel beror på är numret och den slumpmässiga sekvensen. primtal används för att skapa den. I huvudsak är en privat nyckel en fil som innehåller en uppsättning slumpmässigt genererade nummer. Sekretessen för denna information är en garanti för säkerheten för din nyckel under hela användningsperioden för SSL-certifikatet.

För att säkerställa säkerheten för din privata nyckel bör den endast tillåtas åtkomst till de medlemmar i din organisation som verkligen behöver den, t.ex. systemadministratör, som installerar ett SSL-certifikat. Det är också en bra idé att ändra den privata nyckeln (och återutfärda motsvarande SSL-certifikat) närhelst personen som hade tillgång till det lämnar din organisation.

Hur hittar jag den privata SSL-nyckeln?

Din privata nyckel genereras vanligtvis i det ögonblick du genererar en CSR-förfrågan, eller strax innan dess. Om du använder OpenSSL för att hantera dina privata nycklar (du använder till exempel Linux-distributionerbaserat på Debian eller röd hatt), sedan när du kör kommandot OpenSSL req, lagras den privata nyckeln vanligtvis i samma katalog där kommandot initierades.

Om du använder en webbserver Microsoft IIS, sedan lagras din privata SSL-nyckel i dold mapp på servern som skickade begäran om att utfärda ett SSL-certifikat (även kallat Certificate Signing Request eller CSR request). På korrekt installation, kommer servercertifikatet att matcha den privata nyckeln. Om den privata nyckeln saknas kan detta betyda:

  • Certifikatet installerades inte på servern som användes för att generera CSR-begäran (relevant för Microsofts servrar IIS och några andra).
  • En väntande CSR-begäran togs bort av IIS-webbservern.
  • Certifikatet installerades med hjälp av Certificate Import Wizard, inte med IIS.

Olika enheter och servrar använder olika metoder lagring och skapande av privata nycklar. Det är ofta ganska svårt att bestämma platsen för den privata nyckeln på servern. Bekantskap med dokumentationen för din enhet är den mest snabb väg ta reda på exakt var privata nycklar är lagrade på din server.

Hur skapar man en privat nyckel?

Om du inte kan hitta din privata SSL-nyckel eller inte har genererat en ännu, måste du göra det om du vill skaffa ett SSL-certifikat. Vanligtvis måste den privata nyckeln genereras på servern där du planerar att installera certifikatet. Den måste dock skapas innan en CSR-begäran genereras, eller tillsammans med den, om din enhet tillåter det. Vissa program automatiserar dessa uppgifter, vilket avsevärt snabbar upp hela processen.

För att utfärda ett SSL-certifikat, certifieringscenter"signerar" din CSR-begäran, vilket är anledningen till att när de utfärdar ett certifikat kommer de att prata med dig om att generera en CSR-begäran för att erhålla ett SSL-certifikat, och inte om att skapa en privat nyckel. Här är det viktigt för dig att förstå att skapandet av en CSR-förfrågan också innebär skapandet av en privat nyckel.

Endast en privat nyckel motsvarar en viss CSR-förfrågan. Därför, om du tappade bort din privata nyckel (inte sparade den eller av misstag raderade den), måste du initiera en ny utfärdande av SSL-certifikatet med en ny privat nyckel. För att göra detta måste du skapa en ny CSR-förfrågan.

SSL-certifikatleverantörer måste tillhandahålla information om generering av en privat nyckel och en CSR-begäran. Instruktioner för att skapa en CSR-förfrågan och en privat nyckel finns på vår websida.

Du kan också använda tjänst för att skapa en privat nyckel och en CSR-förfrågan på vår hemsida. För att göra detta måste du fylla i lämpliga fält i formuläret på latin enligt exemplet, som visas i bilden:

I landfältet är det viktigt att ange landets förkortade namn stora bokstäver. Fyll sedan i den stad och region där du bor eller där din organisation är registrerad, om du beställer ett certifikat som entitet. Om du beställer OV SSL-certifikat med företagsverifiering eller ännu mer pålitlig EV SSL-certifikat med utökad verifiering är det viktigt att de ifyllda uppgifterna stämmer överens med uppgifterna i registreringshandlingarna för ditt företag. Om du beställer ett enkelt certifikat är detta inte så viktigt, det viktigaste är att inte lämna tomma fält.

När du fyller i formuläret är det också bättre att inte använda det speciella karaktärer eftersom inte alla CA accepterar CSR som innehåller dem. I fältet " Domän namn» ange den domän som du utfärdar ett SSL-certifikat för. Om du beställt