లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్(RSLOS, eng. లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్, LFSR) అనేది బిట్ వర్డ్ షిఫ్ట్ రిజిస్టర్, దీనిలో ఇన్పుట్ (చొప్పించిన) బిట్ విలువ షిఫ్ట్కు ముందు రిజిస్టర్లోని మిగిలిన బిట్ల విలువల నుండి లీనియర్ బూలియన్ ఫంక్షన్కి సమానం. ఇది సాఫ్ట్వేర్ మరియు హార్డ్వేర్ రెండింటి ద్వారా నిర్వహించబడుతుంది. ఇది సూడో-రాండమ్ బిట్ సీక్వెన్స్లను రూపొందించడానికి ఉపయోగించబడుతుంది, ఇది ప్రత్యేకించి క్రిప్టోగ్రఫీలో అప్లికేషన్ను కనుగొంటుంది.
వివరణ
హార్డ్వేర్ ఇంప్లిమెంటేషన్లలో రిజిస్టర్ నియంత్రణ షిఫ్ట్ పల్స్ని వర్తింపజేయడం ద్వారా నిర్వహించబడుతుంది (లేకపోతే అంటారు గడియారంలేదా సమకాలీకరణ పల్స్) అన్ని కణాలకు. సాఫ్ట్వేర్ ఇంప్లిమెంటేషన్లలో రిజిస్టర్ మేనేజ్మెంట్ లూప్ని అమలు చేయడం ద్వారా నిర్వహించబడుతుంది. లూప్ యొక్క ప్రతి పునరావృతం వద్ద, ఫీడ్బ్యాక్ ఫంక్షన్ గణించబడుతుంది మరియు వర్డ్లోని బిట్లు మార్చబడతాయి.
ఆపరేషన్ సూత్రం
సరళ సంక్లిష్టత
సహసంబంధ స్వాతంత్ర్యం
ఉత్పత్తి చేయబడిన క్రమం యొక్క అధిక సరళ సంక్లిష్టతను సాధించే ప్రయత్నంలో, క్రిప్టోగ్రాఫర్లు బహుళ షిఫ్ట్ రిజిస్టర్ల అవుట్పుట్లను నాన్-లీనియర్గా మిళితం చేస్తారు. ఈ సందర్భంలో, ఒకటి లేదా అనేక అవుట్పుట్ సీక్వెన్సులు (లేదా వ్యక్తిగత RSLOS యొక్క అవుట్పుట్లు కూడా) ఒక సాధారణ ప్రవాహం ద్వారా కనెక్ట్ చేయబడతాయి మరియు క్రిప్టానలిస్ట్ ద్వారా తెరవబడతాయి. అటువంటి దుర్బలత్వం ఆధారంగా హ్యాకింగ్ అంటారు సహసంబంధ శవపరీక్ష... అటువంటి హ్యాక్ యొక్క ప్రధాన ఆలోచన ఏమిటంటే, జనరేటర్ యొక్క అవుట్పుట్ మరియు దాని భాగాల అవుట్పుట్ల మధ్య కొంత సహసంబంధాన్ని కనుగొనడం. అప్పుడు, అవుట్పుట్ సీక్వెన్స్ను గమనించడం ద్వారా, మీరు ఈ ఇంటర్మీడియట్ పిన్స్ గురించి సమాచారాన్ని పొందవచ్చు మరియు తద్వారా జనరేటర్ను హ్యాక్ చేయవచ్చు. సహసంబంధ స్వాతంత్ర్యం ఖచ్చితంగా నిర్ణయించబడుతుందని మరియు సహసంబంధ స్వాతంత్ర్యం మరియు సరళ సంక్లిష్టత మధ్య వర్తకం ఉందని థామస్ సిగెంథాలర్ చూపించాడు.
సాఫ్ట్వేర్ అమలు
RSLOS యొక్క సాఫ్ట్వేర్ అమలులు చాలా నెమ్మదిగా ఉంటాయి మరియు అసెంబ్లర్లో వ్రాసినట్లయితే వేగంగా పని చేస్తాయి. పరిష్కారాలలో ఒకటి 16 RSLOS (లేదా 32, కంప్యూటర్ ఆర్కిటెక్చర్లోని పదం పొడవును బట్టి) సమాంతరంగా ఉపయోగించడం. అటువంటి పథకంలో, పదాల శ్రేణి ఉపయోగించబడుతుంది, దీని పరిమాణం షిఫ్ట్ రిజిస్టర్ యొక్క పొడవుకు సమానంగా ఉంటుంది మరియు పదం యొక్క ప్రతి బిట్ దాని స్వంత RSLOSని సూచిస్తుంది. ఒకే ట్యాప్ సీక్వెన్స్ నంబర్లు ఉపయోగించబడుతున్నందున, ఇది జనరేటర్ పనితీరులో గుర్తించదగిన లాభం పొందవచ్చు.
ఫైబొనాక్సీ కాన్ఫిగరేషన్
32-బిట్ షిఫ్ట్ రిజిస్టర్ను పరిగణించండి. దానికి డైవర్షన్ సీక్వెన్స్ ఉంది (32, 31, 30, 28, 26, 1) (\ డిస్ప్లేస్టైల్ \ ఎడమ (32, \; 31, \; 30, \; 28, \; 26, \; 1 \ కుడి))... దీని అర్థం కొత్త బిట్ను రూపొందించడానికి, మీరు తప్పనిసరిగా 31వ, 30వ, 29వ, 27వ, 25వ మరియు 0వ బిట్లను XOR చేయాలి. అందుకున్న RSLO గరిష్ట వ్యవధిని కలిగి ఉంది 2 32 - 1 (\ డిస్ప్లేస్టైల్ 2 ^ (32) -1)... అటువంటి రిజిస్టర్ కోసం C కోడ్ క్రింది విధంగా ఉంటుంది:
int LFSR_Fibonacci (శూన్యం) (స్టాటిక్ సంతకం చేయని పొడవైన S = 0x00000001; S = (((S >> 31) ^ (S >> 30) ^ (S >> 29) ^ (S >> 27) ^ (S >> 25) ^ S) & 0x00000001)<< 31 ) | (S >> 1); తిరిగి S & 0x00000001; )
Galois కాన్ఫిగరేషన్
ఈ జెనరేటర్కు ఎక్కువ క్రిప్టోగ్రాఫిక్ బలం లేదు, కానీ ఇది పనితీరు లాభాన్ని ఇస్తుంది: సమాంతరీకరణ ద్వారా అన్ని XOR కార్యకలాపాలు ఒక చర్యలో నిర్వహించబడతాయి మరియు ఫైబొనాక్సీ కాన్ఫిగరేషన్లో వలె వరుసగా ఒకదాని తర్వాత ఒకటి కాదు. ఈ పథకం హార్డ్వేర్ అమలు నుండి కూడా ప్రయోజనం పొందుతుంది.
32-బిట్ షిఫ్ట్ రిజిస్టర్ కోసం C కోడ్ క్రింది విధంగా ఉంటుంది:
int LFSR_Galois (శూన్యం) (స్టాటిక్ సంతకం చేయని పొడవు S = 0x00000001; అయితే (S & 0x00000001) (S = (S ^ 0x80000057 >> 1) | 0x80000000; తిరిగి 1 = 1;) వేరే (S >>
గలోయిస్ కాన్ఫిగరేషన్లోని LFSR_Galois ఫంక్షన్కి నిర్ణీత సంఖ్యలో కాల్ల లూప్ ఫిబొనాక్సీ కాన్ఫిగరేషన్లోని LFSR_Fibonacci ఫంక్షన్ కంటే దాదాపు 2 రెట్లు వేగంగా ఉంటుంది (Intel Core i5లో MS VS 2010 కంపైలర్).
రూపొందించబడిన క్రమానికి ఉదాహరణ
ఫైబొనాక్సీ కాన్ఫిగరేషన్
RSLOS లక్షణ బహుపది ద్వారా ఇవ్వబడనివ్వండి x 3 + x + 1 (\ డిస్ప్లేస్టైల్ x ^ (3) + x + 1)... దీనర్థం ట్యాప్ యొక్క బిట్లు 2వ మరియు 0వవిగా ఉంటాయి మరియు బహుపది ఫార్ములాలోనిది 0వ బిట్ ఇన్పుట్ అని అర్థం. ఫీడ్బ్యాక్ ఫంక్షన్కు ఫారమ్ ఉంది S j = S j - 1 ⊕ S j - 3 (\ displaystyle S_ (j) = S_ (j-1) \ oplus S_ (j-3))... షిఫ్ట్ రిజిస్టర్ యొక్క ప్రారంభ స్థితి క్రమం అని చెప్పండి. రిజిస్టర్ యొక్క మరిన్ని రాష్ట్రాలు క్రింది పట్టికలో చూపబడ్డాయి:
దశ సంఖ్య | రాష్ట్రం | ఉత్పత్తి చేయబడిన బిట్ |
---|---|---|
0 | [0, 0, 1] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 1 |
1 | 0 | |
2 | 0 | |
3 | 1 | |
4 | 1 | |
5 | 1 | |
6 | 0 | |
7 | [0, 0, 1] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 1 |
ఏడవ దశలో ఉన్న అంతర్గత స్థితి దాని అసలు స్థితికి తిరిగి వచ్చినందున, తదుపరి దశ నుండి ప్రారంభించి, బిట్లు పునరావృతమవుతాయి. అంటే, ఉత్పత్తి చేయబడిన క్రమం క్రింది విధంగా ఉంటుంది: [1, 0, 0, 1, 1, 1, 0, 1. ... ... ] (\ డిస్ప్లేస్టైల్ \ ఎడమ)(క్రమంలోని బిట్ల క్రమం RSLOS ద్వారా వాటి తరం యొక్క క్రమానికి అనుగుణంగా ఉంటుంది). ఈ విధంగా, క్రమం యొక్క కాలం 7, అంటే, ఇచ్చిన బహుపది యొక్క ఆదిమత కారణంగా సంభవించిన గరిష్ట సాధ్యమైన విలువ.
Galois కాన్ఫిగరేషన్
మేము అదే లక్షణమైన బహుపదిని తీసుకుంటాము, అంటే, c 3 = c 1 = 1 (\ displaystyle c_ (3) = c_ (1) = 1), c 2 = 0 (\ displaystyle c_ (2) = 0)... అవుట్పుట్ బిట్కు 1వ బిట్ మాత్రమే జోడించబడింది. ప్రారంభ స్థితి అదే. తదుపరి రిజిస్టర్ ఇలా పేర్కొంది:
దశ సంఖ్య | రాష్ట్రం | ఉత్పత్తి చేయబడిన బిట్ |
---|---|---|
0 | [0, 0, 1] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | - |
1 | [1, 0, 0] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 0 |
2 | [0, 1, 1] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 1 |
3 | [1, 0, 1] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 1 |
4 | [1, 1, 1] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 1 |
5 | [1, 1, 0] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 0 |
6 | [0, 1, 0] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 0 |
7 | [0, 0, 1] (\ డిస్ప్లేస్టైల్ \ ఎడమ) | 1 |
ఏడవ దశ వద్ద రిజిస్టర్ యొక్క అంతర్గత స్థితి దాని అసలు స్థితికి తిరిగి వచ్చింది, కాబట్టి, దాని వ్యవధి కూడా 7. ఫైబొనాక్సీ కాన్ఫిగరేషన్లా కాకుండా, రిజిస్టర్ యొక్క అంతర్గత స్థితులు భిన్నంగా ఉన్నట్లు తేలింది, అయితే రూపొందించబడిన క్రమం ఒకే విధంగా ఉంటుంది, మాత్రమే 4 గడియార చక్రాల ద్వారా మార్చబడింది: [0, 1, 1, 1, 0, 0, 0, 0, 1, 1,. ... ... ] (\ డిస్ప్లేస్టైల్ \ ఎడమ)(క్రమంలోని బిట్ల క్రమం RSLOS ద్వారా వాటి తరం యొక్క క్రమానికి అనుగుణంగా ఉంటుంది).
ఆదిమ బహుపదిలను ఉత్పత్తి చేస్తోంది
బిట్స్, n (\ displaystyle n) | ఆదిమ బహుపది | కాలం, 2 n - 1 (\ displaystyle 2 ^ (n) -1) | ఆదిమ బహుపదిల సంఖ్య |
---|---|---|---|
2 | x 2 + x + 1 (\ డిస్ప్లేస్టైల్ x ^ (2) + x + 1) | 3 | 1 |
3 | x 3 + x 2 + 1 (\ డిస్ప్లేస్టైల్ x ^ (3) + x ^ (2) +1) | 7 | 2 |
4 | x 4 + x 3 + 1 (\ డిస్ప్లేస్టైల్ x ^ (4) + x ^ (3) +1) | 15 | 2 |
5 | x 5 + x 3 + 1 (\ డిస్ప్లేస్టైల్ x ^ (5) + x ^ (3) +1) | 31 | 6 |
6 | x 6 + x 5 + 1 (\ డిస్ప్లేస్టైల్ x ^ (6) + x ^ (5) +1) | 63 | 6 |
7 | x 7 + x 6 + 1 (\ డిస్ప్లేస్టైల్ x ^ (7) + x ^ (6) +1) | 127 | 18 |
8 | x 8 + x 6 + x 5 + x 4 + 1 (\ డిస్ప్లేస్టైల్ x ^ (8) + x ^ (6) + x ^ (5) + x ^ (4) +1) | 255 | 16 |
9 | x 9 + x 5 + 1 (\ డిస్ప్లేస్టైల్ x ^ (9) + x ^ (5) +1) | 511 | 48 |
10 | x 10 + x 7 + 1 (\ డిస్ప్లేస్టైల్ x ^ (10) + x ^ (7) +1) | 1023 | 60 |
11 | x 11 + x 9 + 1 (\ డిస్ప్లేస్టైల్ x ^ (11) + x ^ (9) +1) | 2047 | 176 |
12 | x 12 + x 11 + x 10 + x 4 + 1 (\ డిస్ప్లేస్టైల్ x ^ (12) + x ^ (11) + x ^ (10) + x ^ (4) +1) | 4095 | 144 |
13 | x 13 + x 12 + x 11 + x 8 + 1 (\ డిస్ప్లేస్టైల్ x ^ (13) + x ^ (12) + x ^ (11) + x ^ (8) +1) | 8191 | 630 |
14 | x 14 + x 13 + x 12 + x 2 + 1 (\ డిస్ప్లేస్టైల్ x ^ (14) + x ^ (13) + x ^ (12) + x ^ (2) +1) | 16383 | 756 |
15 | x 15 + x 14 + 1 (\ డిస్ప్లేస్టైల్ x ^ (15) + x ^ (14) +1) | 32767 | 1800 |
16 | x 16 + x 14 + x 13 + x 11 + 1 (\ డిస్ప్లేస్టైల్ x ^ (16) + x ^ (14) + x ^ (13) + x ^ (11) +1) | 65535 | 2048 |
17 | x 17 + x 14 + 1 (\ డిస్ప్లేస్టైల్ x ^ (17) + x ^ (14) +1) | 131071 | 7710 |
18 | x 18 + x 11 + 1 (\ డిస్ప్లేస్టైల్ x ^ (18) + x ^ (11) +1) | 262143 | 7776 |
19 | x 19 + x 18 + x 17 + x 14 + 1 (\ డిస్ప్లేస్టైల్ x ^ (19) + x ^ (18) + x ^ (17) + x ^ (14) +1) | 524287 | 27594 |
20 - 168 | |||
2 - 786, 1024, 2048, 4096 |
ప్రయోజనాలు మరియు అప్రయోజనాలు
ప్రయోజనాలు
- RSLOS ఆధారంగా రూపొందించబడిన క్రిప్టోగ్రాఫిక్ అల్గారిథమ్ల యొక్క అధిక వేగం (ఉదాహరణకు, స్ట్రీమ్ సైఫర్లు);
- దాదాపు అన్ని కంప్యూటింగ్ పరికరాలలో అమలు చేయబడిన హార్డ్వేర్, అదనంగా మరియు గుణకారం యొక్క సరళమైన బిట్ కార్యకలాపాలను మాత్రమే ఉపయోగించడం;
- మంచి క్రిప్టోగ్రాఫిక్ లక్షణాలు (RSLOS మంచి గణాంక లక్షణాలతో దీర్ఘ కాల క్రమాలను రూపొందించగలదు);
- దాని నిర్మాణం కారణంగా, RSLOS బీజగణిత పద్ధతులను ఉపయోగించి సులభంగా విశ్లేషించబడుతుంది.
ప్రతికూలతలు
రూపొందించబడిన సీక్వెన్స్ల క్రిప్టోగ్రాఫిక్ బలాన్ని మెరుగుపరచడానికి పద్ధతులు
బహుళ షిఫ్ట్ రిజిస్టర్లతో జనరేటర్లు
ఈ రకమైన జనరేటర్ బిట్లను ఉత్పత్తి చేసే అనేక లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లను కలిగి ఉంటుంది x 1, i, x 2, i,..., x M, i (\ displaystyle x_ (1, i), \; x_ (2, i), \; \ dots, \; x_ (M, i))వరుసగా. ఇంకా, కొన్ని బూలియన్ ఫంక్షన్ ద్వారా ఉత్పత్తి చేయబడిన బిట్లు రూపాంతరం చెందుతాయి f (x 1, i, x 2, i,..., x M, i) (\ displaystyle f (x_ (1, i), \; x_ (2, i), \; \ dots, \; x_ (M , i)))... ఈ రకమైన జనరేటర్లకు, రిజిస్టర్ పొడవులు ఉన్నాయని గమనించాలి L i (\ displaystyle L_ (i)), i = 1, 2,..., M (\ displaystyle i = 1, \; 2, \; \ dots, \; M)పరస్పరం సరళంగా ఉంటాయి.
ఈ జనరేటర్ యొక్క కాలం T = (2 L 1 - 1) ⋅ (2 L 2 - 1) ⋯ (2 LM - 1) ≲ 2 L (\ displaystyle T = (2 ^ (L_ (1)) - 1) \ cdot (2 ^ ( L_ (2)) - 1) \ cdots (2 ^ (L_ (M)) - 1) \ లెస్సిమ్ 2 ^ (L)), ఎక్కడ L = ∑ i = 1 M L i (\ displaystyle L = \ sum \ పరిమితులు _ (i = 1) ^ (M) L_ (i))- మొత్తం కణాల సంఖ్య. పర్యవసానంగా, అనేక RSLOSల ఉపయోగం ఒక రిజిస్టర్తో పోల్చితే ఉత్పత్తి చేయబడిన క్రమం యొక్క వ్యవధిని పెంచుతుంది, ఇది జనరేటర్ యొక్క క్రిప్టోగ్రాఫిక్ బలాన్ని పెంచుతుంది. ఇది ఇచ్చిన జనరేటర్కు సంబంధించిన అతి తక్కువ రిజిస్టర్ యొక్క సరళ సంక్లిష్టత లేదా పొడవును కూడా పెంచుతుంది. ఇటువంటి రిజిస్టర్ ఉత్పత్తి చేయబడిన క్రమం నుండి Berlekamp-Massey అల్గోరిథం ఉపయోగించి కనుగొనబడింది. ఉత్తమంగా, దాని పొడవు ఉత్పత్తి చేయబడిన క్రమం యొక్క కాలానికి అనుగుణంగా ఉంటుంది.
నాన్ లీనియర్ ట్రాన్స్ఫార్మేషన్లతో జనరేటర్లు
అటువంటి జనరేటర్ యొక్క బ్లాక్ రేఖాచిత్రం మునుపటి జనరేటర్ నుండి భిన్నంగా లేదు. ప్రధాన వ్యత్యాసం ఏమిటంటే, పరివర్తన పరికరం నాన్ లీనియర్ బూలియన్ ఫంక్షన్ ద్వారా పేర్కొనబడింది f (x 1, x 2,..., x M) (\ displaystyle f (x_ (1), x_ (2), \ dots, x_ (M)))... అటువంటి విధిగా, మేము ఉదాహరణకు, జెగల్కిన్ బహుపది (జెగాల్కిన్ సిద్ధాంతం ప్రకారం, ఏదైనా బూలియన్ ఫంక్షన్ ప్రత్యేకంగా జెగల్కిన్ బహుపదిచే సూచించబడుతుంది).
నాన్-లీనియర్ జనరేటర్ను కూడా అమలు చేయవచ్చు నాన్-లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్... అతను ఇవ్వగలడు 2 2 L - 1 - L (\ displaystyle 2 ^ (2 ^ (L-1) -L)) RSLOS కంటే ఎక్కువ గరిష్ట కాలానికి సంబంధించిన సీక్వెన్స్ల వైవిధ్యాలు.
ఉపయోగించిన ఫంక్షన్ యొక్క నాన్ లీనియారిటీ కారణంగా ఈ జనరేటర్ యొక్క క్రిప్టో నిరోధకత పెరిగింది. బిట్ల ఉత్పత్తి క్రమం నుండి రిజిస్టర్ల స్థితిని నిర్ణయించడం సంక్లిష్టమైన గణిత సమస్య, ఎందుకంటే అసలు స్థితిని పునరుద్ధరించడానికి తెలిసిన అల్గారిథమ్ లేదు.
ఈ పద్ధతి ఉపయోగించబడుతుంది, ఉదాహరణకు, లో జెఫ్ జనరేటర్మరియు సాధారణీకరించిన Geff జెనరేటర్, అయితే అటువంటి జనరేటర్లు సహసంబంధ దాడి ద్వారా పగుళ్లు ఏర్పడతాయి.
షిఫ్ట్ రిజిస్టర్ల యొక్క విభిన్న సమయాలతో ఓసిలేటర్లు
స్టాప్ అండ్ గో జెనరేటర్
స్టాప్ అండ్ గో జెనరేటర్(ఇంగ్లీష్ స్టాప్-అండ్-గో, బోథ్-పైపర్) RSLOS-2 యొక్క క్లాక్ ఫ్రీక్వెన్సీని నియంత్రించడానికి RSLOS-1 యొక్క అవుట్పుట్ను ఉపయోగిస్తుంది, తద్వారా RSLOS-2 యొక్క అవుట్పుట్ మాత్రమే నిర్దిష్ట సమయంలో RSLOS-2 తన స్థితిని మారుస్తుంది. సమయానికి 1 యూనిట్కు సమానం. ఈ పథకం సహసంబంధ శవపరీక్షను ప్రతిఘటించలేదు.
క్రిప్టోగ్రాఫిక్ బలాన్ని పెంచడానికి, ఇది ప్రతిపాదించబడింది ప్రత్యామ్నాయ స్టాప్ అండ్ గో జెనరేటర్... ఇది వేర్వేరు పొడవుల మూడు షిఫ్ట్ రిజిస్టర్లను ఉపయోగిస్తుంది. ఇక్కడ RSLOS-1 2వ మరియు 3వ రిజిస్టర్ల క్లాక్ ఫ్రీక్వెన్సీని నియంత్రిస్తుంది, అంటే RSLOS-1 అవుట్పుట్ ఒకదానికి సమానంగా ఉన్నప్పుడు RSLOS-2 దాని స్థితిని మారుస్తుంది మరియు RSLOS-1 అవుట్పుట్ సున్నా అయినప్పుడు RSLOS-3. జనరేటర్ అవుట్పుట్ అనేది RSLOS-2 మరియు RSLOS-3 యొక్క అదనపు మాడ్యులో రెండు అవుట్పుట్ల ఆపరేషన్. ఈ జనరేటర్ సుదీర్ఘ కాలం మరియు పెద్ద సరళ సంక్లిష్టతను కలిగి ఉంటుంది. RSLOS-1 సహసంబంధ దాడికి ఒక మార్గం ఉంది, అయితే ఇది జనరేటర్ యొక్క క్రిప్టోగ్రాఫిక్ లక్షణాలను పెద్దగా బలహీనపరచదు.
సంక్లిష్టమైన క్లాకింగ్ పథకం ఉపయోగించబడుతుంది రెండు-మార్గం జనరేటర్ "స్టాప్-అండ్-గో", ఇది ఒకే పొడవు గల 2 షిఫ్ట్ రిజిస్టర్లను ఉపయోగిస్తుంది. ఏదో ఒక సమయంలో RSLOS-1 అవుట్పుట్ అయితే t i - 1 (\ displaystyle t_ (i-1))- ఒకటి, ఆ సమయంలో RSLOS-2 క్లాక్ చేయబడలేదు t i (\ displaystyle t_ (i))... సమయానికి RSLOS-2 అవుట్పుట్ అయితే t i - 1 (\ displaystyle t_ (i-1))సున్నాకి సమానం, మరియు సమయం యొక్క క్షణంలో t i - 2 (\ displaystyle t_ (i-2))- ఒకటి, మరియు ఈ రిజిస్టర్ ఆ సమయంలో క్లాక్ చేయబడితే t i (\ displaystyle t_ (i)), అదే సమయంలో RSLOS-1 క్లాక్ చేయబడలేదు. ఈ సర్క్యూట్ యొక్క సరళ సంక్లిష్టత ఉత్పత్తి చేయబడిన క్రమం యొక్క కాలానికి దాదాపు సమానంగా ఉంటుంది.
స్వీయ-జెట్టింగ్ జనరేటర్
అంతర్గత ఉత్పత్తితో మల్టీ-స్పీడ్ జనరేటర్
ఈ జనరేటర్ RSLOS-1 మరియు RSLOS-2 అనే రెండు షిఫ్ట్ రిజిస్టర్లను ఉపయోగిస్తుంది. RSLOS-2 అంగుళాల క్లాక్ ఫ్రీక్వెన్సీ d (\ డిస్ప్లేస్టైల్ d) RSLOS-1 కంటే రెట్లు ఎక్కువ. ఈ రిజిస్టర్లలోని కొన్ని బిట్లు AND ఆపరేషన్ని ఉపయోగించి ఒకదానితో ఒకటి గుణించబడతాయి. అవుట్పుట్ సీక్వెన్స్ని ఉత్పత్తి చేయడానికి గుణకారాల ఫలితాలు కలిసి XOR చేయబడతాయి. ఈ జనరేటర్ అధిక సరళ సంక్లిష్టత మరియు మంచి గణాంక లక్షణాలను కలిగి ఉంది. అయితే, పొడవు యొక్క అవుట్పుట్ సీక్వెన్స్ నుండి దాని స్థితిని నిర్ణయించవచ్చు L 1 + L 2 + లాగ్ 2 d (\ displaystyle L_ (1) + L_ (2) + \ log _ (2) (d)), ఎక్కడ L 1 (\ డిస్ప్లేస్టైల్ L_ (1))మరియు L 2 (\ డిస్ప్లేస్టైల్ L_ (2))- వరుసగా RSLOS-1 మరియు RSLOS-2 పొడవులు, మరియు d (\ డిస్ప్లేస్టైల్ d)- వారి గడియార పౌనఃపున్యాల నిష్పత్తి.
గోల్మాన్ క్యాస్కేడ్
ఈ రేఖాచిత్రం స్టాప్-అండ్-గో జనరేటర్ యొక్క మెరుగైన వెర్షన్. ఇది RSLOS యొక్క క్రమాన్ని కలిగి ఉంటుంది, వీటిలో ప్రతి ఒక్కటి మునుపటి RSLOSచే నియంత్రించబడుతుంది. ఆ సమయంలో RSLOS-1 అవుట్పుట్ అయితే t i (\ displaystyle t_ (i)) 1, అప్పుడు RSLOS-2 క్లాక్ చేయబడింది. ఆ సమయంలో RSLOS-2 అవుట్పుట్ అయితే t i (\ displaystyle t_ (i)) 1, ఆపై RSLOS-3 క్లాక్ చేయబడింది మరియు మొదలైనవి. చివరి RSLOS యొక్క అవుట్పుట్ జనరేటర్ యొక్క అవుట్పుట్. అన్ని RSLOS యొక్క పొడవు ఒకేలా మరియు సమానంగా ఉంటే L (\ డిస్ప్లేస్టైల్ L), అప్పుడు నుండి సిస్టమ్ యొక్క కాలం M (\ డిస్ప్లేస్టైల్ M) RSLO సమానం (2 L - 1) M (\ displaystyle (2 ^ (L) -1) ^ (M))మరియు సరళ సంక్లిష్టత L (S) = L (2 L - 1) M - 1 (\ displaystyle L (S) = L (2 ^ (L) -1) ^ (M-1)) .
ఈ ఆలోచన చాలా సులభం మరియు భారీ కాలాలు, పెద్ద సరళ సంక్లిష్టతలు మరియు మంచి గణాంక లక్షణాలతో సీక్వెన్స్లను రూపొందించడానికి ఉపయోగించవచ్చు. కానీ దురదృష్టవశాత్తు వారు శవపరీక్ష అని పిలిచే సున్నితంగా ఉంటారు లాక్ చేయడం(ఇంగ్లీష్ లాక్-ఇన్) ఎప్పుడు
- "టెట్రోమినో టెన్నిస్"). అతను లెక్కలేనన్ని గణిత పజిల్స్ మరియు పన్లను సృష్టించాడు మరియు పరిష్కరించాడు. సుమారు 20 సంవత్సరాల క్రితం, నేను 1959లో సెల్యులార్ ఆటోమేటా కోసం నాకు ఇష్టమైన 30 నియమాన్ని కనుగొనడానికి అతను చాలా దగ్గరగా ఉన్నాడని నేను కనుగొన్నాను.
నేను సాల్ గోలోంబ్ని ఎలా కలిశాను
నాకు తెలిసిన దాదాపు అందరు శాస్త్రవేత్తలు మరియు గణిత శాస్త్రజ్ఞులు నా వృత్తిపరమైన సంబంధాల ద్వారా నేను తెలుసుకున్నాను. కానీ సోల్ గోలోంబా కాదు. అది 1981, మరియు నేను, 21 ఏళ్ల భౌతిక శాస్త్రవేత్త (మొదటి అవార్డుల వేడుకలో మెక్ఆర్థర్ ప్రైజ్ని అందుకున్న అతి పిన్న వయస్కురాలిని కాబట్టి మీడియాలో కొంచెం పేరు తెచ్చుకున్నాను) వద్ద పరిశోధన చేస్తున్నాను. నా ఆఫీసు తలుపు తట్టింది, వెంటనే ఒక యువతి అందులోకి అడుగు పెట్టింది. ఇది ఇప్పటికే అసాధారణమైనది, ఎందుకంటే ఆ రోజుల్లో వారు సైద్ధాంతిక హై-ఎనర్జీ ఫిజిక్స్లో నిమగ్నమై ఉన్న నిస్సహాయంగా చాలా తక్కువ మంది మహిళలు ఉన్నారు. నేను చాలా సంవత్సరాలు కాలిఫోర్నియాలో నివసించినప్పటికీ, నేను విశ్వవిద్యాలయాన్ని విడిచిపెట్టలేదు, అందువల్ల నా కార్యాలయంలోకి దూసుకెళ్లిన దక్షిణ కాలిఫోర్నియా శక్తి యొక్క ఉప్పెనకు నేను సరిగ్గా సిద్ధంగా లేను. ఆ స్త్రీ తనను తాను ఆస్ట్రిడ్కి పరిచయం చేసుకుని, తాను ఆక్స్ఫర్డ్కి హాజరయ్యానని మరియు నేను కిండర్గార్టెన్లో ఉన్న వ్యక్తి ఎవరో తెలుసని చెప్పింది. పసదేనా ప్రాంతంలోని ఆసక్తికర వ్యక్తుల గురించిన సమాచారాన్ని సేకరించే పని తనకు అప్పగించిందని వివరించింది. ఆమె నన్ను కష్టమైన కేసుగా భావించిందని నేను అనుకుంటున్నాను, అయినప్పటికీ మాట్లాడాలని పట్టుబట్టింది. మరియు ఒక రోజు, నేను ఏమి చేస్తున్నానో చెప్పాలని ప్రయత్నిస్తున్నప్పుడు, ఆమె ఇలా చెప్పింది: " నువ్వు మా నాన్నని కలవాలి. అతను అప్పటికే వృద్ధుడు, కానీ అతని మనస్సు ఇంకా పదునుగా ఉంది. "మరియు సాల్ గోలోంబ్ యొక్క పెద్ద కుమార్తె ఆస్ట్రిడ్ గోలోంబ్ నన్ను అతనికి పరిచయం చేసింది.గోలోంబ్ కుటుంబం పసాదేనా సమీపంలోని పర్వతాలలో ఉన్న ఇంట్లో నివసించింది. వారికి ఇద్దరు కుమార్తెలు ఉన్నారు: ఆస్ట్రిడ్ - నా కంటే కొంచెం పెద్దది, ప్రతిష్టాత్మకమైన హాలీవుడ్ అమ్మాయి మరియు బీట్రైస్ - నా వయస్సు మరియు శాస్త్రీయ మనస్సు గురించి. గోలోంబ్ సోదరీమణులు తరచుగా పార్టీలను నిర్వహిస్తారు, సాధారణంగా వారి ఇళ్లలో. ఇతివృత్తాలు విభిన్నంగా ఉన్నాయి: ఇది ఒక గార్డెన్ పార్టీ మరియు రాజహంసలు మరియు ముళ్లపందులతో కూడిన క్రోకెట్ (" పేర్కొన్న థీమ్తో ఎవరి దుస్తులు చాలా దగ్గరగా సరిపోతాయో విజేత అవుతాడు"), లేదా స్టోన్హెంజ్ తరహాలో రూన్స్లో సూచనలతో కూడిన పార్టీ. ఈ పార్టీలలో, వివిధ స్థానిక ప్రముఖులతో సహా, యువకులు మరియు అంతగా లేని వ్యక్తులు దాటారు. మరియు వారిపై, కొంచెం పక్కన పెడితే, పెద్ద గడ్డం ఉన్న ఒక చిన్న వ్యక్తి ఎప్పుడూ ఉంటాడు, ఎల్ఫ్ మీద లాగా మరియు ఎల్లప్పుడూ ముదురు కోటు ధరించి ఉంటాడు - సోలమన్ గోలోంబ్.
క్రమంగా, నేను అతని గురించి కొంచెం నేర్చుకున్నాను. అతను దేనిలో పాల్గొన్నాడు" సమాచార సిద్ధాంతం"అతను సదరన్ కాలిఫోర్నియా విశ్వవిద్యాలయంలో పనిచేశాడని. అతనికి వివిధ అస్పష్టమైన కానీ స్పష్టంగా ఉన్నత-స్థాయి ప్రభుత్వం మరియు ఇతర సంబంధాలు ఉన్నాయని. నేను షిఫ్ట్ రిజిస్టర్ల గురించి విన్నాను కానీ వాటి గురించి దాదాపు ఏమీ తెలియదు."
కొంతకాలం తర్వాత ఏమి జరుగుతుందో ఇక్కడ ఉంది:
మీరు చూడగలిగినట్లుగా, షిఫ్ట్ రిజిస్టర్ ఎల్లప్పుడూ బిట్లను ఎడమ వైపుకు మారుస్తుంది మరియు ఇతర బిట్లు సాధారణ నియమాన్ని అనుసరించి కుడి వైపుకు జోడించబడతాయి. బిట్ల క్రమం యాదృచ్ఛికంగా కనిపిస్తుంది, అయినప్పటికీ, చిత్రంలో చూపిన విధంగా, అది చివరికి పునరావృతమవుతుంది. సోల్ గోలోంబ్ అటువంటి క్రమాలను విశ్లేషించడానికి మరియు అవి తమను తాము ఎలా పునరావృతం చేశాయో విశ్లేషించడానికి ఒక సొగసైన గణిత మార్గాన్ని కనుగొన్నారు.
షిఫ్ట్ రిజిస్టర్ పరిమాణంలో ఉంటే n,అప్పుడు అతనికి 2 ఉంది nసాధ్యమయ్యే స్థితులు (పొడవు కోసం 0 మరియు 1 యొక్క అన్ని సాధ్యమైన సీక్వెన్స్లకు అనుగుణంగా ఉంటాయి n) షిఫ్ట్ రిజిస్టర్కు సంబంధించిన నియమాలు నిర్ణయాత్మకమైనవి కాబట్టి, ఏదైనా స్థానం ఎల్లప్పుడూ మరొక, అదే స్థానానికి చేరుకోవాలి. దశలు పునరావృతం కావడానికి ముందు షిఫ్ట్ రిజిస్టర్ ద్వారా వెళ్ళగల గరిష్ట సాధ్యమైన దశల సంఖ్య 2 అని దీని అర్థం n(వాస్తవానికి 2 n- 1, అన్ని 0లు ఉన్న స్థానం మరేదైనా పరిణామం చెందదు కాబట్టి).
పై ఉదాహరణలో, షిఫ్ట్ రిజిస్టర్ 7 మరియు సరిగ్గా 2 7 - 1 = 127 దశల్లో పునరావృతమవుతుంది. కానీ ఏ షిఫ్ట్ రిజిస్టర్లు - ఏ శాఖల స్థానాలతో - గరిష్ట-పొడవు సీక్వెన్స్లను ఉత్పత్తి చేస్తుంది? సోలమన్ గోలోంబ్ 1954 వేసవిలో ఈ ప్రశ్నను పరిశోధించడం ప్రారంభించాడు. మరియు అతని సమాధానం సరళమైనది మరియు సొగసైనది.
ఎగువన ఉన్న షిఫ్ట్ రిజిస్టర్లో 7, 6 మరియు 1 స్థానాల్లో శాఖలు ఉన్నాయి. సాల్ దీనిని బీజగణితంగా బహుపదిని ఉపయోగించి అందించాడు NS 7 + NS 6 + 1. ఈ బహుపది "అయితే ఉత్పత్తి చేయబడిన క్రమం గరిష్ట పొడవు ఉంటుందని అతను చూపించాడు. తగ్గించలేని మాడ్యులో 2"; కాబట్టి, దీనిని కారకం చేయడం సాధ్యం కాదు, ఇది బహుపదాలలో ప్రధాన సంఖ్యకు సారూప్యంగా ఉంటుంది; మరియు కొన్ని ఇతర లక్షణాల ఉనికి దీనిని "ఆదిమ బహుపది"గా చేస్తుంది. "నేడు, ఇది మ్యాథమెటికా మరియు వోల్ఫ్రామ్ లాంగ్వేజ్ ఉపయోగించి సులభంగా ధృవీకరించబడుతుంది:
అప్పుడు, 1954లో, సౌలు చేతితో అన్నింటినీ చేయవలసి వచ్చింది; అతను షిఫ్ట్ రిజిస్టర్లకు అనుగుణమైన ఆదిమ బహుపదాల యొక్క పొడవైన పట్టికను సంకలనం చేసాడు, ఇది గరిష్ట పొడవు యొక్క క్రమాలను ఉత్పత్తి చేసింది:
షిఫ్ట్ రిజిస్టర్ల చరిత్ర
దీని ద్వారా ర్యామ్ను నిర్వహించాలనే ఆలోచన ఆలస్యం పంక్తులు"ఇది డిజిటల్ పల్స్ని ప్రసారం చేయడం కంప్యూటర్ యొక్క ప్రారంభ రోజుల నాటిది. 1940ల చివరి నాటికి, అటువంటి ఆలస్యం లైన్లు వాక్యూమ్ ట్యూబ్ల శ్రేణిని ఉపయోగించి డిజిటల్గా వర్తింపజేయబడ్డాయి మరియు వాటిని పిలుస్తున్నారు" షిఫ్ట్ రిజిస్టర్లు"మొదటి క్లోజ్డ్-లూప్ షిఫ్ట్ రిజిస్టర్లు ఎప్పుడు సృష్టించబడ్డాయో ఇంకా స్పష్టంగా తెలియలేదు. ఇది 1940ల చివరలో జరిగి ఉండవచ్చు. అయినప్పటికీ, ఈ సంఘటన ఇప్పటికీ రహస్యంగానే ఉంది, ఎందుకంటే అవి మొదటిసారిగా మిలిటరీ క్రిప్టోగ్రఫీలో ఉపయోగించబడ్డాయి.క్రిప్టోగ్రఫీ యొక్క ప్రాథమిక ఆలోచన అర్ధవంతమైన సందేశాలను మార్చడం, తద్వారా అవి గుర్తించబడవు; అయినప్పటికీ, మీకు కీ తెలిస్తే, మీరు ఎన్క్రిప్టెడ్ సందేశాన్ని మళ్లీ సృష్టించవచ్చు. స్ట్రీమ్ సైఫర్లు అని పిలవబడేవి యాదృచ్ఛికంగా అనిపించే మూలకాల యొక్క సుదీర్ఘ శ్రేణులను సృష్టించే సూత్రంపై పని చేస్తాయి మరియు స్వతంత్రంగా ఒకే మూలకాల క్రమాన్ని ఉత్పత్తి చేసే రిసీవర్ని ఉపయోగించి డీకోడ్ చేయబడతాయి.
లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లు వాటి సుదీర్ఘ పునఃప్రయత్న కాలాల కారణంగా క్రిప్టోగ్రఫీలో బహుమతి పొందాయి. అయితే, ఈ కాలాలను కనుగొనడానికి సౌల్ ఉపయోగించిన గణిత విశ్లేషణ అటువంటి షిఫ్ట్ రిజిస్టర్లు సురక్షితమైన క్రిప్టోగ్రఫీకి తగినవి కావని స్పష్టం చేస్తుంది. అయితే, ప్రారంభంలో అవి బాగానే కనిపించాయి (ముఖ్యంగా ఎనిగ్మాలోని వరుస రోటర్ స్థానాలతో పోల్చినప్పుడు); సోవియట్ మిలిటరీ క్రిప్టోసిస్టమ్స్ ఈ ప్రాతిపదికన నిర్మించబడ్డాయని నిరంతర పుకార్లు ఉన్నాయి.
2001లో నేను నా పుస్తకం కోసం హిస్టారికల్ నోట్స్పై పని చేస్తున్నప్పుడు కొత్త రకం శాస్త్రంరిజిస్టర్ షిఫ్టుల గురించి సౌల్ మరియు నేను సుదీర్ఘ ఫోన్ సంభాషణను కలిగి ఉన్నాము. అతను ప్రారంభించినప్పుడు, షిఫ్ట్ రిజిస్టర్లపై క్రిప్టోగ్రాఫిక్ పని గురించి తనకు ఏమీ తెలియదని సౌల్ నాతో చెప్పాడు. అతను బెల్ ల్యాబ్స్, లింకన్ ల్యాబ్స్, మరియు JPL షిఫ్ట్ రిజిస్టర్లలో పని చేయడం ప్రారంభించినట్లు అతను చెప్పాడు; అయినప్పటికీ, అతను కొంచెం ముందుకు వెళ్ళగలిగాడు, దానిని అతను తన 1955 నివేదికలో పేర్కొన్నాడు.
తరువాతి సంవత్సరాలలో, సౌల్ క్రమంగా తన పని యొక్క వివిధ పూర్వీకుల గురించి స్వచ్ఛమైన గణిత సాహిత్యం నుండి నేర్చుకున్నాడు. ఇప్పటికే 1202లో, ఫిబొనాక్సీ ఇప్పుడు ఫైబొనాక్సీ సంఖ్యలు అని పిలవబడే వాటి గురించి మాట్లాడాడు మరియు అవి పునరావృత సంబంధం ద్వారా ఉత్పన్నమవుతాయి (ఇది సున్నాలు మరియు వాటితో కాకుండా ఏకపక్ష పూర్ణాంకాలతో పని చేసే లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ యొక్క అనలాగ్గా చూడవచ్చు). 0 మరియు 1 చక్రాలపై 1900ల ప్రారంభంలో చిన్న రచనలు కూడా ఉన్నాయి, అయితే ఓస్లో విశ్వవిద్యాలయం నుండి ఓస్టెన్ ఒరే యొక్క మొదటి పెద్ద-స్థాయి అధ్యయనం. ఒరేకు మార్షల్ హాల్ అనే విద్యార్థి ఉన్నాడు, అతను 1940ల చివరలో నేషనల్ సెక్యూరిటీ ఏజెన్సీ యొక్క పూర్వీకుడికి సలహా ఇచ్చాడు. - బహుశా షిఫ్ట్ రిజిస్టర్ల అంశంపై. అయితే, అతను చేసిన ప్రతిదీ వర్గీకరించబడింది మరియు లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ల చరిత్రను ప్రచురించడానికి అతను సౌల్తో ఏర్పాటు చేశాడు; సౌల్ తన పుస్తకాన్ని మార్షల్ హాల్కు అంకితం చేశాడు.
షిఫ్ట్ రిజిస్టర్లు దేని కోసం సృష్టించిన సీక్వెన్సులు?
సాధారణ నియమాల ద్వారా నిర్వహించబడే సిస్టమ్లు అనేక రకాల అప్లికేషన్లతో ముగుస్తాయని నేను చాలాసార్లు గమనించాను; షిఫ్ట్ రిజిస్టర్లు కూడా ఈ పద్ధతిని అనుసరిస్తాయి. ఆధునిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ రెండూ షిఫ్ట్ రిజిస్టర్లతో నిండి ఉన్నాయి: ఒక సాధారణ మొబైల్ ఫోన్లో, వాటిలో డజను లేదా రెండు ఉండవచ్చు, నియమం ప్రకారం, హార్డ్వేర్ స్థాయిలో మరియు కొన్నిసార్లు సాఫ్ట్వేర్లో (నేను "షిఫ్ట్ రిజిస్టర్" అని వ్రాసినప్పుడు. ఇక్కడ, నా ఉద్దేశ్యం లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ - LFSR).చాలా సందర్భాలలో, గరిష్ట పొడవు సీక్వెన్స్లను ఇచ్చే షిఫ్ట్ రిజిస్టర్లు ఉపయోగించబడతాయి (లేకపోతే "అని పిలుస్తారు. M-సీక్వెన్సులుఅవి ఉపయోగించబడుతున్న కారణాలు సాధారణంగా సోల్ కనుగొన్న వాటి లక్షణాలలో కొన్నింటిని కలిగి ఉంటాయి. అవి ఎల్లప్పుడూ ఒకే సంఖ్యలో 0లు మరియు 1లను కలిగి ఉంటాయి (వాస్తవానికి ఎల్లప్పుడూ ఖచ్చితంగా ఒక అదనపు 1 ఉంటుంది) అదే సంఖ్యలో సీక్వెన్సులు 00, 01, 10 మరియు 11 కూడా లక్షణం - మరియు పెద్ద బ్లాక్లకు కూడా. ఈ ఆస్తి " సంతులనం"ఇది ఇప్పటికే చాలా ఉపయోగకరంగా ఉంది - ఉదాహరణకు, మీరు ఇన్పుట్గా సాధ్యమయ్యే అన్ని బిట్ల కలయికలను పరీక్షిస్తే.
అయినప్పటికీ, సోల్ మరొక, మరింత ముఖ్యమైన ఆస్తిని కనుగొన్నాడు. సీక్వెన్స్లోని ప్రతి 0ని 1తో భర్తీ చేయండి, ఆపై సీక్వెన్స్ యొక్క మార్చబడిన సంస్కరణలోని ప్రతి మూలకాన్ని అసలైన సంబంధిత మూలకంతో గుణించండి. జోడించినప్పుడు, ఈ మూలకాలు ఎల్లప్పుడూ సున్నాగా ఉంటాయని సాల్ చూపించాడు (ఎటువంటి మార్పు లేనట్లయితే). అంటే, క్రమానికి దాని యొక్క మార్చబడిన సంస్కరణలతో ఎటువంటి సంబంధం లేదు.
0 మరియు 1 యొక్క ఏదైనా తగినంత పొడవైన యాదృచ్ఛిక శ్రేణికి ఈ లక్షణాలు నిజమైనవి. ఆశ్చర్యకరంగా, గరిష్ట పొడవు గల సీక్వెన్స్లకు ఈ లక్షణాలు ఎల్లప్పుడూ నిజమైనవి. సీక్వెన్సులు కొన్ని అస్తవ్యస్తమైన లక్షణాలను కలిగి ఉన్నాయి, కానీ అవి నిజంగా అస్తవ్యస్తంగా లేవు: వారు బాగా నిర్వచించబడిన, వ్యవస్థీకృత నిర్మాణాన్ని కలిగి ఉన్నారు.
లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ల యొక్క ఈ స్వాభావిక నిర్మాణం వాటిని తీవ్రమైన క్రిప్టోగ్రఫీకి అనువుగా చేస్తుంది. కానీ అవి ప్రాథమిక "మూలకాల ప్రస్తారణ" మరియు చౌకైన క్రిప్టోగ్రఫీకి గొప్పవి మరియు ఈ ప్రయోజనాల కోసం విస్తృతంగా ఉపయోగించబడతాయి. తరచుగా పని సిగ్నల్ను "తెల్లగా" చేయడం ("వైట్ నాయిస్" లాగా). కొన్నిసార్లు 0 యొక్క సుదీర్ఘ శ్రేణులతో డేటాను ప్రసారం చేయడం అవసరం. కానీ "నిశ్శబ్దం" చాలా పొడవుగా ఉంటే ఈ సందర్భంలో ఎలక్ట్రానిక్స్ గందరగోళానికి గురవుతుంది. మీరు షిఫ్ట్ రిజిస్టర్ ద్వారా రూపొందించబడిన సీక్వెన్స్తో అసలు డేటాను కలపడం ద్వారా స్క్రాంబ్లింగ్ చేయడం ద్వారా ఈ సమస్యను నివారించవచ్చు. Wi-Fi, బ్లూటూత్, USB, డిజిటల్ టీవీ, ఇంటర్నెట్ మొదలైన వాటితో సరిగ్గా ఇదే జరిగింది.
షిఫ్ట్ రిజిస్టర్ స్క్రాంబ్లింగ్ యొక్క దుష్ప్రభావం చాలా క్లిష్టమైన డీకోడింగ్, ఇది కొన్నిసార్లు భద్రతను మెరుగుపరచడానికి ఉపయోగించబడుతుంది (DVD సాంకేతికత డేటాను ఎన్కోడ్ చేయడానికి 16 మరియు 24 బిట్ షిఫ్ట్ రిజిస్టర్ల కలయికను ఉపయోగిస్తుంది; అనేక GSM ఫోన్లు అన్ని సిగ్నల్లను ఎన్కోడ్ చేయడానికి మూడు షిఫ్ట్ రిజిస్టర్ల కలయికను ఉపయోగిస్తాయి. )
సౌల్ వీటన్నింటికీ గణిత శాస్త్ర ఆధారాన్ని సృష్టించాడు మరియు అనేక కీలక వ్యక్తులను ఒకరికొకరు పరిచయం చేశాడు. తిరిగి 1959లో, అతను ఇటీవల మసాచుసెట్స్ ఇన్స్టిట్యూట్ ఆఫ్ టెక్నాలజీ నుండి పిహెచ్డి పొందిన ఇర్విన్ జాకబ్స్ను కలిశాడు. అతను జెట్ ప్రొపల్షన్ లాబొరేటరీలో పనిచేసిన ఆండీ విటెర్బిని కూడా తెలుసు. సౌల్ వాటిని పరిచయం చేశాడు మరియు 1968లో కోడింగ్ సిస్టమ్లపై (ఎక్కువగా సైనిక ప్రయోజనాల కోసం) పని చేయడానికి లింకబిట్ అనే కంపెనీని స్థాపించారు.
1985లో జాకబ్స్ మరియు విటెర్బీ క్వాల్కమ్ అనే మరో కంపెనీని స్థాపించారు. వారు మొదట్లో బాగా లేరు, కానీ 1990ల ప్రారంభంలో, వారు సెల్ ఫోన్లలో CDMAని అమలు చేయడానికి భాగాలను తయారు చేయడం ప్రారంభించినప్పుడు, కంపెనీ వేగంగా అభివృద్ధి చెందుతోంది.
సరే, ఈ రిజిస్టర్లు ఎక్కడ ఉన్నాయి?
చాలా మంది వ్యక్తులు షిఫ్ట్ రిజిస్టర్ల గురించి ఎన్నడూ వినకపోవడం ఆశ్చర్యకరం మరియు అదే సమయంలో వారు ఆధునిక కమ్యూనికేషన్ సిస్టమ్లు, కంప్యూటర్లు మొదలైన వాటిని ఉపయోగించినప్పుడు వారితో పరస్పర చర్య చేయడం ఆశ్చర్యకరం. ఒకే రిజిస్టర్ సీక్వెన్స్లు వేర్వేరు పేర్ల వెనుక కనిపించడం వల్ల ఇక్కడ గందరగోళం చెందడం చాలా సులభం. సంక్షిప్తాలు లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ (PN, సూడో నాయిస్, M-, FSR, LFSR సీక్వెన్సులు, MLS, SRS, PRBS, మొదలైనవి).మొబైల్ ఫోన్లలో, షిఫ్ట్ రిజిస్టర్ సీక్వెన్స్ల వాడకం సంవత్సరాలుగా మారిపోయింది, కొన్నిసార్లు పెరుగుతూ మరియు కొన్నిసార్లు తగ్గుతూ ఉంటుంది. నెట్వర్క్లు TDMAపై ఆధారపడి ఉంటాయి, కాబట్టి అవి తమ డేటాను ఎన్కోడ్ చేయడానికి షిఫ్ట్ రిజిస్టర్ సీక్వెన్స్లను ఉపయోగించవు, అయినప్పటికీ, డేటా బ్లాక్లను తనిఖీ చేయడానికి CRC (సైక్లిక్ రిడండెన్సీ చెక్) ఇప్పటికీ తరచుగా ఉపయోగించబడుతుంది. నెట్వర్క్లు CDMA యొక్క అతిపెద్ద వినియోగదారులు, కాబట్టి షిఫ్ట్ రిజిస్టర్ల ద్వారా రూపొందించబడిన సీక్వెన్సులు ప్రతి బిట్ యొక్క ప్రసారంలో పాల్గొంటాయి. నెట్వర్క్లు సాధారణంగా షిఫ్ట్ రిజిస్టర్ సీక్వెన్స్లను కలిగి ఉండని సమయం మరియు ఫ్రీక్వెన్సీ స్లాట్ల కలయికను ఉపయోగిస్తాయి, అయినప్పటికీ CRCలు ఇప్పటికీ ఉపయోగించబడుతున్నాయి: ఉదాహరణకు, ఫ్రీక్వెన్సీ విండోలు అతివ్యాప్తి చెందుతున్నప్పుడు సమగ్ర డేటాతో పరస్పర చర్య చేయడానికి. మరింత సంక్లిష్టమైన నిర్మాణాన్ని కలిగి ఉంది - స్లాట్ల యొక్క సరైన సమయం మరియు ఫ్రీక్వెన్సీని ఉపయోగించడానికి అనేక యాంటెన్నాలు డైనమిక్గా అనుగుణంగా ఉంటాయి. అయినప్పటికీ, వారి ఛానెల్లలో సగం సాధారణంగా స్థానిక రేడియో వాతావరణాన్ని ఉత్పన్నం చేయడానికి ఉపయోగించే "పైలట్" సిగ్నల్లకు అంకితం చేయబడ్డాయి; అవి షిఫ్ట్ రిజిస్టర్ల ద్వారా రూపొందించబడిన సీక్వెన్స్లపై కూడా ఆధారపడి ఉంటాయి.
ఎలక్ట్రానిక్స్ తయారీ సాధారణంగా అత్యల్ప విద్యుత్ వినియోగంతో సాధ్యమయ్యే అత్యధిక డేటా బదిలీ రేటును సాధించడానికి ప్రయత్నిస్తుంది, ఇది బిట్లను శబ్ద స్థాయిని అధిగమించడానికి అనుమతిస్తుంది. మరియు, ఒక నియమం వలె, ఈ మార్గం లోపాన్ని గుర్తించే ఆటోమేషన్కు దారి తీస్తుంది - అందువలన CRC (సైక్లిక్ రిడండెన్సీ చెక్) మరియు, షిఫ్ట్ రిజిస్టర్ ద్వారా ఉత్పన్నమయ్యే సీక్వెన్స్ల వినియోగానికి. ఇది కంప్యూటర్లోని దాదాపు అన్ని రకాల బస్సులకు వర్తిస్తుంది (PCIe, SATA, మొదలైనవి): సెంట్రల్ ప్రాసెసర్లోని భాగాల మధ్య పరస్పర చర్యను అందించడం లేదా పరికరాల నుండి డేటాను స్వీకరించడం లేదా HDMIతో డిస్ప్లేకి కనెక్ట్ చేయడం. డిస్క్లు లేదా మెమరీ విషయంలో, షిఫ్ట్ రిజిస్టర్ల ద్వారా రూపొందించబడిన సీక్వెన్స్ల ఆధారంగా CRCలు మరియు ఇతర కోడ్లు కూడా గరిష్ట వేగంతో పనిచేయడానికి దాదాపు విశ్వవ్యాప్తంగా ఉపయోగించబడతాయి.
షిఫ్ట్ రిజిస్టర్లు సర్వవ్యాప్తి చెందాయి, అవి ఎన్ని బిట్లను ఉత్పత్తి చేస్తాయో అంచనా వేయడం దాదాపు అసాధ్యం. పొందుపరిచిన IoT (ఇంటర్నెట్ ఆఫ్ థింగ్స్)లో దాదాపు 10 బిలియన్ కంప్యూటర్లు, కొంచెం తక్కువ ఫోన్లు మరియు భారీ సంఖ్యలో పరికరాలు ఉన్నాయి. ప్రపంచంలోని దాదాపు ప్రతి కారు (మరియు ఒక బిలియన్ కంటే ఎక్కువ ఉన్నాయి!) దాదాపు 10 అంతర్నిర్మిత మైక్రోప్రాసెసర్లను కలిగి ఉంది.
షిఫ్ట్ రిజిస్టర్లు ఏ ఫ్రీక్వెన్సీలో పని చేస్తాయి? కమ్యూనికేషన్ సిస్టమ్లలో, హెర్ట్జ్ బ్యాండ్లో బేస్ క్యారియర్ ఫ్రీక్వెన్సీ ఉంది, అలాగే MHz బ్యాండ్లో మల్టిపుల్ యాక్సెస్ (మేము CDMA గురించి మాట్లాడుతున్నాం) ఎంత వేగంగా జరుగుతుందో తెలిపే "చిప్ రేట్" కూడా ఉంది. మరోవైపు, కంప్యూటర్లలోని బస్సుల్లో, షిఫ్ట్ రిజిస్టర్లను ఉపయోగించి మొత్తం డేటా బదిలీ చేయబడుతుంది - హెర్ట్జ్ పరిధిలో అత్యుత్తమ బదిలీ రేటుతో.
కనీసం 10 బిలియన్ కమ్యూనికేషన్ లైన్లు కనీసం 1/10 బిలియన్ సెకన్లు (సుమారు 3 సంవత్సరాలు) నడుస్తున్నాయి, అవి ప్రతి సెకనుకు షిఫ్ట్ రిజిస్టర్ల నుండి కనీసం 1 బిలియన్ బిట్లను ఉపయోగిస్తాయి, అంటే ఈ రోజు నాటికి, సోల్ యొక్క అల్గోరిథం కనీసం ఒక ఆక్టిలియన్ సార్లు.
ఇది సర్వసాధారణంగా ఉపయోగించే అల్గారిథమా? నేను అవునని అనుకుంటున్నాను. అంకగణిత కార్యకలాపాలు మాత్రమే పోటీ పడగలవని నేను అనుమానిస్తున్నాను. ఈ రోజుల్లో ప్రాసెసర్లు సెకనుకు ఒక ట్రిలియన్ అంకగణిత కార్యకలాపాలను నిర్వహించగలవు మరియు కంప్యూటర్ ద్వారా ఉత్పత్తి చేయబడిన దాదాపు ప్రతి బిట్కు ఇటువంటి కార్యకలాపాలు అవసరం. అయితే అంకగణితం ఎలా జరుగుతుంది? కొంత స్థాయిలో, ఇది కేవలం డిజిటల్ ఎలక్ట్రానిక్స్ అమలు.
అయినప్పటికీ, మైక్రోప్రాసెసర్ డిజైనర్లు మినహా అందరికీ అర్థంకాని "అల్గోరిథమిక్ ఆలోచనలు" ఉన్నాయి. బాబేజ్ తన డిఫరెన్స్ ఇంజిన్ను తయారు చేస్తున్నప్పుడు (హాబ్రే "అన్రావెలింగ్ ది స్టోరీ ఆఫ్ అడా లవ్లేస్ (చరిత్రలో మొదటి ప్రోగ్రామర్)"పై కథనాన్ని చూడండి), అంకగణిత కార్యకలాపాలను నిర్వహించడానికి హైఫన్లు పెద్ద అవరోధంగా మారాయి (వాస్తవానికి, లీనియర్ ఫీడ్బ్యాక్తో షిఫ్ట్ రిజిస్టర్ చేయవచ్చు అంకగణితం లాంటిది చేసే వ్యవస్థగా భావించాలి, కానీ దానిని కొనసాగించదు). బేరర్ని ఆప్టిమైజ్ చేసే బేరర్ ప్రొపెగేషన్ చెట్లు ఉన్నాయి. అంకగణితం యొక్క అంతర్భాగాలను రూపొందించడానికి అవసరమైన బిట్ ఆపరేషన్ల సంఖ్యను తగ్గించే చిన్న ట్వీక్లు (బూత్ యొక్క అల్గోరిథం, వాలెస్ ట్రీలు మొదలైనవి) కూడా ఉన్నాయి. కానీ, లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ల వలె కాకుండా, దాదాపు ఎక్కడైనా ఉపయోగించగల ఏ ఒక్క అల్గారిథమిక్ ఆలోచన లేదు; అందువల్ల, లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ల ద్వారా రూపొందించబడిన సుదీర్ఘమైన సీక్వెన్సులు ఎక్కువగా ఉపయోగించిన సీక్వెన్స్లలో గెలుపొందుతాయని నేను భావిస్తున్నాను.
నాన్ లీనియర్ ఫీడ్బ్యాక్తో సెల్యులార్ ఆటోమేటా మరియు షిఫ్ట్ రిజిస్టర్లు
ఇది మొదటి చూపులో స్పష్టంగా కనిపించకపోయినా, క్లోజ్డ్-లూప్ షిఫ్ట్ రిజిస్టర్లు మరియు సెల్యులార్ ఆటోమేటా మధ్య సన్నిహిత సంబంధం ఉందని నేను చాలా సంవత్సరాలుగా అధ్యయనం చేశాను. ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ కోసం ప్రాథమిక సంస్థ ఒక సమయంలో ఒక బిట్ను గణించడం. సెల్యులార్ ఆటోమేటన్లో, సెల్ల యొక్క ఒక లైన్ ఉంటుంది మరియు ప్రతి దశలో, అన్ని కణాలు సమాంతరంగా నవీకరించబడతాయి, ఇది ఒక నియమం ఆధారంగా, ఉదాహరణకు, వారి సమీప పొరుగువారి విలువలపై ఆధారపడి ఉంటుంది.అవి ఎలా సంబంధం కలిగి ఉన్నాయో చూడటానికి, మేము సైజ్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ని అమలు చేయాలి n, మరియు అదే సమయంలో ప్రతి దాని స్థితిని మాత్రమే ప్రదర్శిస్తుంది nదశలు; మరో మాటలో చెప్పాలంటే, అన్ని బిట్లు మళ్లీ కనిపించే ముందు ఓవర్రైట్ చేయబడనివ్వండి. లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ యొక్క ప్రతి దశ (ఇక్కడ - రెండు ట్యాప్లతో) ప్రదర్శించబడితే, ప్రతి దశలో ప్రతిదీ ఎడమ వైపుకు మారుతుంది - అంతే. కానీ మీరు కుదించబడిన చిత్రాన్ని చేస్తే, ప్రతి ఒక్కటి మాత్రమే చూపుతుంది nదశలు, ఒక నమూనా కనిపిస్తుంది.
ఇది సమూహ నమూనా; మరియు ఈ చిత్రం సెల్యులార్ ఆటోమేటన్ ఒక సెల్ మరియు దాని పొరుగున ఉన్న దానిని తీసుకొని వాటిని మాడ్యులో 2 (XOR) జోడిస్తే పొందగలిగే దానితో సమానంగా ఉంటుంది. సెల్యులార్ ఆటోమేటన్ సెల్యులార్ ఆటోమేటన్ దాని సెల్లను అమర్చినట్లయితే, అవి పైన ఉన్న షిఫ్ట్ రిజిస్టర్కి సమానమైన వృత్తంలో ఉండేలా చేస్తే ఇది జరుగుతుంది:
ప్రారంభంలో, సెల్యులార్ ఆటోమేటా మరియు షిఫ్ట్ రిజిస్టర్ నమూనాలు సరిగ్గా ఒకే విధంగా ఉంటాయి. మీరు ఈ చిత్రాలను చూసినప్పుడు, షిఫ్ట్ రిజిస్టర్ల గణితం సెల్యులార్ ఆటోమేటాతో సంబంధం కలిగి ఉండటం ఆశ్చర్యం కలిగించదు. మరియు సమూహ నమూనాల పునరావృతతను బట్టి, షిఫ్ట్ రిజిస్టర్ల యొక్క సొగసైన గణిత సిద్ధాంతం ఎందుకు ఉండాలో స్పష్టమవుతుంది.
ఆచరణలో ఉపయోగించే సాధారణ షిఫ్ట్ రిజిస్టర్లు అటువంటి బహిరంగంగా పునరావృతమయ్యే నమూనాలను ప్రదర్శించవు. గరిష్ట-పొడవు సీక్వెన్స్లను రూపొందించే షిఫ్ట్ రిజిస్టర్ల యొక్క కొన్ని ఉదాహరణలు ఇక్కడ ఉన్నాయి. వాస్తవం ఏమిటంటే శాఖలు చాలా దూరంగా ఉన్నాయి, ఇది గూడు యొక్క దృశ్యమాన జాడలను కనుగొనడం కష్టతరం చేస్తుంది.
షిఫ్ట్ రిజిస్టర్లు మరియు సెల్యులార్ ఆటోమేటా మధ్య కరస్పాండెన్స్ ఎంత విస్తృతంగా ఉంది? సెల్యులార్ ఆటోమేటా కోసం, కొత్త సెల్ విలువలను రూపొందించే నియమాలు మీకు నచ్చినవి కావచ్చు. లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లలో, అవి ఎల్లప్పుడూ మాడ్యులో 2 జోడింపు (లేదా XOR) ఆధారితంగా ఉండాలి. "లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్" యొక్క "లీనియర్" భాగం అంటే ఇదే. నాన్-లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ల (NFSR) కోసం విలువలను కలపడం కోసం ఏదైనా నియమాన్ని ఉపయోగించడం కూడా సాధ్యమే.
నిజానికి, సౌల్ లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ల కోసం తన సిద్ధాంతాన్ని అభివృద్ధి చేసినప్పుడు, అతను నాన్-లీనియర్ కేస్తో ప్రారంభించాడు. అతను 1956లో JPLకి వచ్చినప్పుడు, అతను చిన్న ఎలక్ట్రానిక్ మాడ్యూల్స్ కోసం రాక్లతో పూర్తి చేసిన ప్రయోగశాలను అందుకున్నాడు. బెల్ ల్యాబ్స్ ప్రాజెక్ట్ కోసం ఒక నిర్దిష్ట లాజికల్ ఆపరేషన్ (AND, OR, NOT, ...) చేయడానికి మాడ్యూల్స్ (ఒక్కొక్కటి సిగరెట్ ప్యాక్ పరిమాణంలో) నిర్మించబడిందని సాల్ చెప్పారు. ఏదైనా నాన్-లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లను అమలు చేయడానికి మాడ్యూల్లు కలిసి ఉపయోగించబడతాయి, సెకనుకు దాదాపు మిలియన్ బిట్లను అందజేస్తాయి (ఎవరైనా సాధారణ ప్రయోజన కంప్యూటర్తో అదే విధంగా చేయడానికి ప్రయత్నించారని మరియు హార్డ్వేర్ మాడ్యూళ్లను ఉపయోగిస్తున్నప్పుడు 1 సెకను పట్టిందని సోల్ నాకు చెప్పారు, సాధారణ-ప్రయోజన కంప్యూటర్లో 6 వారాల పని అవసరం).
సౌల్ లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లను అధ్యయనం చేయడం ప్రారంభించినప్పుడు, అతని మొదటి ప్రధాన ఆవిష్కరణ పునరావృత కాలాలు. మరియు నాన్ లీనియర్ వాటి విషయంలో, అతను అదే విషయాన్ని అర్థం చేసుకోవడానికి తన ప్రయత్నాలను చాలా వరకు అంకితం చేశాడు. అతను అన్ని రకాల ప్రయోగాత్మక డేటాను సేకరించాడు. అతను 245 నిడివి గల సీక్వెన్స్లను కూడా పరీక్షించానని, దానికి ఒక సంవత్సరం పట్టిందని అతను నాతో చెప్పాడు. అతను దిగువ చిత్రం వలె సారాంశాన్ని రూపొందించాడు (వేవ్ఫార్మ్ లైన్లో చూపిన సన్నివేశాల విజువలైజేషన్ను గమనించండి). కానీ అతను లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ల కోసం కలిగి ఉన్న సాధారణ సిద్ధాంతంతో ఎప్పుడూ ముందుకు రాలేదు.
ఆశ్చర్యకరంగా, అతను దానిని చేయలేకపోయాడు. ఇప్పటికే 1950 లలో, సైద్ధాంతిక ఫలితాలు కనిపించాయి (చాలా సందర్భాలలో ట్యూరింగ్ యొక్క సార్వత్రిక గణన యొక్క ఆలోచనల ఆధారంగా) ప్రోగ్రామ్లు సూత్రప్రాయంగా దీన్ని చేయగలవు. నాన్-లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లలో చాలా సులభమైన (నాన్-లీనియర్) ఫంక్షన్లు ఉపయోగించబడతాయని సోల్ లేదా మరెవరూ ఎప్పుడూ ఆలోచించలేదని నేను అనుకోను.
చాలా సాధారణమైన ప్రోగ్రామ్ల ప్రవర్తన ఎంత క్లిష్టంగా ఉంటుందో తరువాత మాత్రమే స్పష్టమైంది. సెల్యులార్ ఆటోమేటన్ కోసం రూల్ 30 నాకు ఇష్టమైన ఉదాహరణ, దీనిలో పొరుగు కణాల విలువలు సూచించబడే ఫంక్షన్ని ఉపయోగించి మిళితం చేయబడతాయి ఆర్ + q + ఆర్ + q * rమోడ్ 2(లేదా ఆర్ XOR ( qలేదా ఆర్)). నమ్మశక్యం కాని విధంగా, సాల్ ఇలాంటి ఫంక్షన్ల ఆధారంగా నాన్-లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లను పరిగణించాడు: ఆర్ + జి + లు + q * r + q * s + r * sమోడ్ 2... ఇక్కడ, క్రింద, Sol ఫంక్షన్ (దీనిని "రూల్ 29070"గా భావించవచ్చు), రూల్ 30 మరియు అనేక ఇతర సారూప్య నియమాలు షిఫ్ట్ రిజిస్టర్లో ఎలా కనిపిస్తాయో దృష్టాంతాలు ఉన్నాయి:
మరియు ఇక్కడ అవి, స్థిర-పరిమాణ రిజిస్టర్కు మాత్రమే పరిమితం కాకుండా, సెల్యులార్ ఆటోమేటా వంటివి:
అయితే, సౌల్ ఎప్పుడూ ఇలాంటి చిత్రాలను తీయలేదు (మరియు 1950లలో చేయడం దాదాపు అసాధ్యం). బదులుగా, అతను ఒక రకమైన సంచిత లక్షణంగా పునరావృత కాలంపై దృష్టి పెట్టాడు.
నాన్లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లు గందరగోళానికి మూలాలు కావచ్చా అని సౌల్ ఆశ్చర్యపోయాడు. సెల్యులార్ ఆటోమేటా గురించి ఈ రోజు తెలిసిన దాని నుండి, వారు చేయగలరని స్పష్టంగా తెలుస్తుంది. ఉదాహరణకు, మ్యాథమెటికా కోసం యాదృచ్ఛికతను సృష్టించడానికి, మేము 25 సంవత్సరాలుగా 30 సెల్యులార్ ఆటోమేటా నియమాన్ని ఉపయోగించాము (ట్రిలియన్ల కొద్దీ అవకాశాలను అధ్యయనం చేసిన తర్వాత మేము కనుగొన్న మరింత సమర్థవంతమైన నియమానికి అనుకూలంగా ఇటీవల మేము దానిని విరమించుకున్నాము).
సోల్ ఎన్క్రిప్షన్ గురించి కొంచెం మాట్లాడాడు; అయినప్పటికీ అతను ఎక్కువ కాలం ప్రభుత్వం కోసం పని చేయలేదని నేను అనుకుంటున్నాను. అతను 1959 లో కనుగొన్నప్పటికీ " నాన్ లీనియర్ సీక్వెన్స్లపై మల్టీడైమెన్షనల్ కోరిలేషన్ దాడులు"అతను ఉండగా" ప్రోగ్రాం క్రిప్టానాలసిస్ కోసం చేసిన వాదనలను జాగ్రత్తగా తప్పించిందివిషయం ఏమిటంటే, సెల్యులార్ ఆటోమాటా (మరియు బహుశా నాన్లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లు కూడా) కోసం రూల్ 30 మంచి క్రిప్టోసిస్టమ్లు కావచ్చు - అయినప్పటికీ అవి లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లకు సమానమైనవిగా కనిపిస్తున్నప్పటికీ (అవి అలా కావు), వాటిని వీలైనంత ఎక్కువగా ఉపయోగించలేదు. .
ఒక ఔత్సాహికుడిగా, గత కొన్ని దశాబ్దాలుగా నేను వన్-డైమెన్షనల్ సెల్యులార్ ఆటోమేటాలో నా పని యొక్క పూర్వీకులందరినీ అధ్యయనం చేయడానికి ప్రయత్నించాను. టూ-డైమెన్షనల్ సెల్యులార్ ఆటోమేటా చాలా తక్కువగా అధ్యయనం చేయబడింది, కానీ ఒక డైమెన్షనల్ ఆటోమేటా విషయంలో, పూర్తిగా సైద్ధాంతిక పని మాత్రమే కనుగొనబడింది. సోలమన్ గోలోంబ్ యొక్క నాన్లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్లు పావు శతాబ్దం తర్వాత నేను చూసిన వాటికి దగ్గరగా ఉన్నాయని నేను భావిస్తున్నాను.
పోలియోమినో
ఇంటిపేరు వింటే" గోలోంబ్ ", షిఫ్ట్ రిజిస్టర్ల గురించి చాలా మందికి గుర్తుంటుంది. అయితే, చాలా మందికి గుర్తు ఉంటుంది పాలియోమినో... సోల్ పోలియోమినోను కనిపెట్టలేదు, అయినప్పటికీ అతను పేరుతో ముందుకు వచ్చాడు. అతను ఇంతకుముందు వేర్వేరు పజిల్స్లో మాత్రమే కనిపించే వాటిని క్రమబద్ధంగా చేశాడు.ఒక నిర్దిష్ట ప్రాంతాన్ని కవర్ చేయడానికి పోలియోమినోల సెట్లను ఎలా నిర్వహించవచ్చు అనేది సోల్కు సమాధానం ఇవ్వడానికి ఆసక్తి ఉన్న ప్రధాన ప్రశ్న. కొన్నిసార్లు ఇది చాలా స్పష్టంగా ఉంటుంది మరియు కొన్నిసార్లు చాలా కష్టంగా ఉంటుంది. సోల్ 1954లో పాలియోమినోపై తన మొదటి కథనాన్ని ప్రచురించాడు, అయితే మార్టిన్ గార్డనర్ దానిని 1957లో బాగా ప్రాచుర్యం పొందాడు (జర్నల్లో గణిత ఆటలపై కాలమ్ రాశాడు సైంటిఫిక్ అమెరికన్) సౌల్ తన 1964 పుస్తకానికి పరిచయంలో వివరించినట్లుగా, ఫలితం " ప్రపంచం నలుమూలల నుండి మరియు అన్ని రంగాల నుండి కరస్పాండెంట్ల స్థిరమైన ప్రవాహం: ప్రముఖ విశ్వవిద్యాలయాల డైరెక్టర్ల బోర్డు ఛైర్మన్లు, తెలియని మఠాల నివాసితులు, ప్రసిద్ధ జైళ్ల నుండి ఖైదీలు ...".
గేమ్ కంపెనీలు కూడా కొత్త పజిల్స్ని గమనించాయి మరియు కొన్ని నెలల్లో "" వంటి ముఖ్యాంశాలు కొత్త సంచలనాత్మక పజిల్స్"దశాబ్దాల తరబడి ఇతర పాలియోమినో-ఆధారిత పజిల్స్ మరియు గేమ్లు (కాదు, చెడు బట్టతల వ్యక్తి సాల్లా కనిపించడం లేదు):
సాల్ మొదటి ప్రచురణ తర్వాత మరో 50 సంవత్సరాల పాటు పోలియోమినోపై కథనాలను ప్రచురించాడు. 1961లో అతను "రెప్-టైల్స్"ను ప్రవేశపెట్టాడు, వీటిని ఫ్రాక్టల్ ("ఇన్ఫిన్-టైల్స్") నమూనాలను రూపొందించడానికి ఉపయోగించవచ్చు. కానీ పోలియోమినోతో సోల్ చేసిన దాదాపు ప్రతిదీ నిర్దిష్ట సమస్యలను పరిష్కరించడంలో ఇమిడి ఉంది.
పాలియోమినో ప్రత్యేకతలపై నాకు నిజంగా ఆసక్తి లేదు; వాటికి సంబంధించిన మరింత సాధారణ దృగ్విషయాలపై నాకు ఆసక్తి ఉంది. మీరు కొన్ని సాధారణ ఆకృతులతో మొత్తం విమానాన్ని "సుగమం" చేయవచ్చో లేదో నిర్ణయించడం సులభం అనిపిస్తుంది. కానీ పోలియోమినోల విషయంలో (అలాగే అన్ని ఆటలు మరియు వాటి ఆధారంగా పజిల్స్), విషయాలు అంత సులభం కాదని స్పష్టమవుతుంది. నిజానికి, 1960లలో ఈ సమస్య సిద్ధాంతపరంగా పరిష్కరించలేనిదని నిరూపించబడింది.
మేము పరిమిత ప్రాంతంలో మాత్రమే ఆసక్తి కలిగి ఉంటే, అప్పుడు, సూత్రప్రాయంగా, మేము బొమ్మల యొక్క అన్ని ఊహించదగిన స్థానాలను జాబితా చేయవచ్చు, ఆపై అవి ఉన్నట్లుగా ఉన్నాయో లేదో చూడవచ్చు. అయితే, మనకు అనంతం పట్ల ఆసక్తి ఉంటే, ఇది చేయలేము. బహుశా ఎవరైనా విజయవంతంగా మిలియన్ ముక్కలను ఉంచడానికి ఒక మార్గాన్ని కనుగొంటారు, కానీ ఈ ఫలితం మరింత పొడిగించబడుతుందని ఎటువంటి హామీ లేదు.
ఇది పని చేసే ట్యూరింగ్ మెషిన్ లేదా సెల్యులార్ ఆటోమేటన్ లాగా కనిపించవచ్చని తేలింది. మీరు టైల్స్ లైన్తో ప్రారంభించండి. అనంతమైన టైల్ వేయడం సాధ్యమేనా అనే ప్రశ్న, ట్యూరింగ్ మెషీన్ను కొనసాగించడానికి మరియు కొనసాగించడానికి అనుమతించే సెట్టింగ్ సాధ్యమేనా అనే ప్రశ్నకు సమానం. విషయం ఏమిటంటే, ట్యూరింగ్ మెషిన్ సార్వత్రికమైనట్లయితే (అంటే, ఏదైనా సాధ్యమైన గణనను నిర్వహించడానికి దానిని ప్రోగ్రామ్ చేయవచ్చు), అప్పుడు దాని కోసం ఆపే సమస్య పరిష్కరించలేనిది కావచ్చు, అంటే టైలింగ్ సమస్య కూడా పరిష్కరించబడదు.
వాస్తవానికి ఇది ఆకృతుల అసలు సెట్పై ఆధారపడి ఉంటుంది. సాధారణ-ప్రయోజన గణనను ఎన్కోడ్ చేయడానికి మరియు పరిష్కరించలేని టైలింగ్ సమస్యకు దారితీసేందుకు ఫారమ్లు ఎంత క్లిష్టంగా ఉండాలి అనేది ప్రశ్న. సోలమన్ గోలోంబ్ ఈ అంశంపై సాహిత్యం గురించి తెలుసు, కానీ దానిపై ప్రత్యేకించి ఆసక్తి చూపలేదు.
పాలియోమినోల యొక్క సంక్లిష్టమైన మరియు విస్తృతమైన సెట్లు వాస్తవానికి సాధారణ-ప్రయోజన గణనకు మద్దతునిస్తాయి. కానీ సాధారణ సెట్ గురించి ఏమిటి? అనుకోకుండా దాని మీద పొరపాట్లు చేయడం చాలా సులభం? నేను అధ్యయనం చేసిన అన్ని సిస్టమ్లను మీరు పరిశీలిస్తే, సరళమైన సెట్ నిజంగా సరళమైనదిగా మారుతుంది. అయితే, దానిని కనుగొనడం కష్టం.
క్రమానుగతంగా కాకుండా విమానాలను విజయవంతంగా నింపే పోలియోమినోలను కనుగొనడం చాలా సులభమైన పని. రోజర్ పెన్రోస్ 1994లో తగిన ఉదాహరణను కనుగొన్నారు. నా పుస్తకంలో కొత్త రకం శాస్త్రంనేను 3 పాలియోమినోలతో కొంచెం సరళమైన ఉదాహరణ ఇచ్చాను:
మిగిలిన కథ
అతను షిఫ్ట్ రిజిస్టర్లు మరియు పాలియోమినో రంగంలో చెప్పుకోదగ్గ విజయాన్ని సాధించినప్పుడు సౌల్ తన ముప్పై ఏళ్ళ ప్రారంభంలో ఉన్నాడు ... అతను చాలా చురుకైన వ్యక్తి. అతను అనేక వందల వ్యాసాలు రాశాడు, వాటిలో కొన్ని అతని మునుపటి పనిని విస్తరించాయి, కొన్ని అతనిని అడిగిన ప్రశ్నలకు సమాధానాలు, మరియు కొన్ని కేవలం వినోదం కోసం వ్రాసినవి - సంఖ్యలు, సీక్వెన్సులు, క్రిప్టోసిస్టమ్ల గురించి ఆసక్తికరమైన విషయాలను తెలుసుకోవడానికి, మొదలైనవి మొదలైనవి.షిఫ్ట్ రిజిస్టర్లు మరియు పాలియోమినోలు భారీ అంశాలు (అవి కూడా AMS వర్గీకరణలో ప్రత్యేక వర్గాలలోకి తీసుకురాబడ్డాయి). ఇటీవలి దశాబ్దాలలో, వారి ఆధారంగా కంప్యూటర్ ప్రయోగాలు చేయడం ప్రారంభించినప్పుడు, వారిద్దరూ కొత్త రౌండ్ అభివృద్ధిని పొందారు; సోల్ కూడా వాటిలో చురుకుగా పాల్గొన్నాడు. అయితే, చాలా ప్రశ్నలకు సమాధానం లేదు. మరియు లీనియర్ ఫీడ్బ్యాక్తో షిఫ్ట్ రిజిస్టర్ల కోసం పెద్ద హడమార్డ్ మాత్రికలను కనుగొనగలిగితే, ఇప్పుడు కూడా నాన్ లీనియర్ ఫీడ్బ్యాక్తో షిఫ్ట్ రిజిస్టర్ల గురించి చాలా తక్కువగా తెలుసు, అన్ని ఆవర్తన మరియు ఇతర అన్యదేశ పాలియోమినోలను పేర్కొనడం లేదు.
సోల్ ఎల్లప్పుడూ గణిత మరియు పద పజిల్స్ రెండింటిలోనూ పజిల్స్పై ఆసక్తి కలిగి ఉంటాడు. కొంతకాలం, అతను పజిల్స్ కాలమ్ను నడిపాడు లాస్ ఏంజిల్స్ టైమ్స్, మరియు 32 సంవత్సరాలు వ్రాసారు " గోలోంబ్ గాంబిట్స్జాన్స్ హాప్కిన్స్ అలుమ్ని మ్యాగజైన్కు. అతను MegaIQ పరీక్షలో పాల్గొన్నాడు మరియు అతను మరియు అతని యజమాని దేశంలో మొదటి ఐదు స్థానాల్లో ఉన్నప్పుడు వైట్ హౌస్కి ఒక పర్యటనలో విజయం సాధించారు.
అతను విశ్వవిద్యాలయంలో తన పనిలో విపరీతమైన కృషి చేసాడు: విద్యార్థులకు బోధించడం మరియు గ్రాడ్యుయేట్ విద్యార్థులను పర్యవేక్షించడం మరియు అడ్మినిస్ట్రేటివ్ నిచ్చెన (యూనివర్శిటీ కౌన్సిల్ ప్రెసిడెంట్, రీసెర్చ్ కోసం వైస్-వైస్-రెక్టర్ మొదలైనవి) అధిరోహించడమే కాకుండా, తన అభిప్రాయాన్ని కూడా వ్యక్తం చేశాడు. యూనివర్శిటీ మొత్తం నిర్వహణ (ఉదాహరణకు, "ఫ్యాకల్టీ కన్సల్టింగ్: టేక్ ఇట్ అవుట్ లేదా లీవ్ ఇట్?" అనే శీర్షికతో ఒక కథనాన్ని వ్రాసారు సమాధానం: లేదు, ఇది విశ్వవిద్యాలయానికి మంచిది!). అతను యూనివర్శిటీ ఆఫ్ సదరన్ కాలిఫోర్నియాలో హెడ్హంటర్గా పనిచేశాడు మరియు అతని పదవీకాలంలో అతను విశ్వవిద్యాలయం అస్పష్టత నుండి విద్యా కార్యక్రమాల ర్యాంకింగ్స్లో అగ్రస్థానానికి ఎదగడానికి సహాయం చేశాడు.
ఆపై సంప్రదింపులు జరిగాయి. సౌలు చాలా సూక్ష్మంగా ఉన్నాడు మరియు ప్రభుత్వ సంస్థల కోసం అతను ఏమి చేసాడో వెల్లడించలేదు. 1960ల చివరలో, తాను తప్ప అందరూ పాలియోమినో గేమ్లను విక్రయిస్తున్నారని విసుగు చెంది, సాల్ రిక్రియేషనల్ టెక్నాలజీ, ఇంక్ అనే కంపెనీని స్థాపించాడు. విషయాలు సరిగ్గా జరగలేదు, కానీ సాల్ ఆల్విన్ బెర్లెక్యాంప్ను కలిశాడు, సిద్ధాంతాలు మరియు పజిల్లను కోడింగ్ చేయడంలో అభిరుచి ఉన్న బర్కిలీ ప్రొఫెసర్. తదనంతరం, వారు సైక్లోటోమిక్స్ను స్థాపించారు (రూపం యొక్క సైక్లోటోమిక్ బహుపదిల గౌరవార్థం x n- 1), ఇది చివరికి కొడాక్కు ఏకమొత్తానికి విక్రయించబడింది (బెర్లెక్యాంప్ ఒక అల్గారిథమిక్ ట్రేడింగ్ సిస్టమ్ను కూడా సృష్టించాడు, దానిని అతను జిమ్ సైమన్స్కు విక్రయించాడు మరియు ఇది పునరుజ్జీవన టెక్నాలజీస్కు ప్రారంభ బిందువుగా మారింది - ఈ రోజు అతిపెద్ద హెడ్జ్ ఫండ్స్లో ఒకటి).
10,000 కంటే ఎక్కువ పేటెంట్లు సోల్ యొక్క పనికి సంబంధించి ఒక విధంగా లేదా మరొక విధంగా ఉన్నాయి, కానీ సోల్ మాత్రమే పొందాడు ఒక పేటెంట్క్వాసిగ్రూప్ల ఆధారంగా క్రిప్టోసిస్టమ్లకు - మరియు అతను తన పనిని వాణిజ్యీకరించడానికి పెద్దగా చేయలేదని నేను భావిస్తున్నాను.
సోల్ టెక్నియన్, ఇజ్రాయెల్ ఇన్స్టిట్యూట్ ఆఫ్ టెక్నాలజీతో చాలా సంవత్సరాలు పనిచేశాడు. అతను తన గురించి మాట్లాడుకున్నాడు " మతం లేని ఆర్థడాక్స్ యూదుడు", కానీ అదే సమయంలో కొన్నిసార్లు బుక్ ఆఫ్ జెనెసిస్పై ప్రారంభకులకు సెమినార్లకు దారితీసింది మరియు డెడ్ సీ స్క్రోల్స్ (కుమ్రాన్ మాన్యుస్క్రిప్ట్లు) భాగాలను అర్థంచేసుకోవడంలో కూడా పనిచేశారు.
సౌల్ మరియు అతని భార్య విస్తృతంగా ప్రయాణించారు, అయితే సౌల్కి "ప్రపంచం యొక్క కేంద్రం" ఖచ్చితంగా సదరన్ కాలిఫోర్నియా విశ్వవిద్యాలయంలోని లాస్ ఏంజిల్స్ కార్యాలయం మరియు అతను మరియు అతని భార్య దాదాపు 60 సంవత్సరాలు నివసించిన ఇల్లు. అతని చుట్టూ ఎప్పుడూ స్నేహితులు, విద్యార్థులు ఉండేవారు. మరియు అతనికి ఒక కుటుంబం ఉంది. అతని కుమార్తె ఆస్ట్రిడ్ రిచర్డ్ ఫేన్మాన్ గురించి నాటకంలో విద్యార్థి పాత్రను పోషించింది (ఆమె అతని కోసం పోజులిచ్చింది), మరియు నా స్నేహితుడి నవలలో ఒక పాత్రగా నటించింది. బీట్రైస్ తన కెరీర్ను వివిధ రకాల వైద్య సూచనలు మరియు రోగనిర్ధారణలకు (గల్ఫ్ యుద్ధానికి సంబంధించిన వ్యాధులు, స్టాటిన్ ప్రభావాలు, ఎక్కిళ్ళు మొదలైనవి) గణిత స్థాయి ఖచ్చితత్వాన్ని వర్తింపజేయడానికి అంకితం చేసింది. ఆధునిక కంప్యూటేషనల్ న్యూరోసైన్స్ వ్యవస్థాపకులలో ఒకరైన టెర్రీ సీనోవ్స్కీ - తర్వాత ఆమె భర్తగా మారే వ్యక్తికి ఆమెను పరిచయం చేయడం ద్వారా నేను బీట్రైస్ జీవితానికి చిన్న సహకారం అందించాను.
సోల్ వివరాలను ఎక్కువగా వివరించకపోయినా, చాలా ఈవెంట్లలో పాల్గొన్నట్లు అనిపించింది. ఎప్పటికప్పుడు నేను అతనితో సైన్స్ మరియు గణితం గురించి మాట్లాడాలనుకున్నాను, కానీ అతను వ్యక్తులు మరియు సంస్థల గురించి కథలు (తరచుగా చాలా ఉత్తేజకరమైనది) చెప్పడంలో ఎక్కువ ఆసక్తిని కలిగి ఉన్నాడు (" [1985లో], సమావేశాలకు గైర్హాజరైన సంవత్సరాల తర్వాత, క్లాడ్ షానన్ సమాచార సిద్ధాంతంపై వార్షిక సదస్సులో బార్లో చెప్పకుండా కనిపించాడని మీరు నమ్మగలరా?"; "సౌదీ అరేబియా వెళ్లేందుకు కాలిఫోర్నియా ఇన్స్టిట్యూట్ ఆఫ్ టెక్నాలజీ అధిపతికి వారు ఎంత చెల్లించారో తెలుసా?", మొదలైనవి).
వెనక్కి తిరిగి చూసుకుంటే, నా పనిలో లేవనెత్తిన కొన్ని గణిత శాస్త్ర ప్రశ్నలను పరిష్కరించడంలో నేను సౌల్కి ఆసక్తి చూపాలనుకుంటున్నాను. ఇతర వ్యక్తులు ప్రతిపాదించిన సమస్యలను పరిష్కరించడానికి అతను ఎంతవరకు ఇష్టపడుతున్నాడో నాకు అర్థం కావడం లేదు. కంప్యూటింగ్ ప్రపంచంలోని అవస్థాపన అభివృద్ధికి అతని గణనీయమైన సహకారం ఉన్నప్పటికీ, సోల్ ఎప్పుడూ కంప్యూటర్లను తీవ్రంగా ఉపయోగించలేదు. తలలో లెక్కలు తేలిగ్గా వేయగలనని చాలా గర్వపడ్డాడు. 70 సంవత్సరాల వయస్సు వరకు, అతను ఈ-మెయిల్ ఉపయోగించలేదు మరియు ఇంట్లో కంప్యూటర్ ఉపయోగించలేదు, అతనికి మొబైల్ ఫోన్ ఉన్నప్పటికీ (అతనికి దాదాపు ఎప్పుడూ ఈ-మెయిల్ రాలేదు. నేను ఒక సంవత్సరం క్రితం నేను కథను చదువుతున్నానని ఒకసారి చెప్పాను. అడా లవ్లేస్; అతను ఇలా సమాధానమిచ్చాడు: " బాబేజ్ ప్రోగ్రామర్గా అడా లవ్లేస్ కథ చాలా విస్తృతంగా ఉంది, ప్రతి ఒక్కరూ దానిని గ్రాంట్గా తీసుకున్నట్లు అనిపిస్తుంది, అయితే నేను ఈ అంశంపై మూలాలను ఎప్పుడూ చూడలేదు.").
సోల్ కుమార్తెలు కొన్ని సంవత్సరాల క్రితం అతని 80వ పుట్టినరోజు కోసం పార్టీని ఏర్పాటు చేసారు మరియు ఈ ఆసక్తికరమైన ఆహ్వానాలను సృష్టించారు:
సౌలుకు కొన్ని ఆరోగ్య సమస్యలు ఉన్నాయి, అయినప్పటికీ ఇది అతని జీవిత లయను అంతగా ప్రభావితం చేయలేదు. అతని భార్య ఆరోగ్యం క్షీణిస్తోంది మరియు గత కొన్ని వారాలుగా చాలా నాటకీయంగా ఉంది. శుక్రవారం సోల్ ఎప్పటిలాగే తన కార్యాలయానికి వెళ్లి, శనివారం రాత్రి నిద్రలోనే మరణించాడు. అతని భార్య బో అతనిని కేవలం రెండు వారాలు మాత్రమే బ్రతికించింది మరియు వారి 60వ వివాహ వార్షికోత్సవానికి కేవలం రెండు రోజుల ముందు మరణించింది.
సౌల్ పోయినప్పటికీ, అతని పని డిజిటల్ ప్రపంచంలోని ఆక్టిలియన్ బిట్స్లో నివసిస్తుంది.
వీడ్కోలు సోల్. మరియు మా అందరి నుండి - ధన్యవాదాలు.
క్రిప్టోగ్రఫీ మరియు కోడింగ్ థియరీ రెండింటిలోనూ షిఫ్ట్ రిజిస్టర్ సీక్వెన్సులు ఉపయోగించబడతాయి. వారి సిద్ధాంతం బాగా అభివృద్ధి చేయబడింది, షిఫ్ట్ రిజిస్టర్ల ఆధారంగా స్ట్రీమ్ సైఫర్లు ఎలక్ట్రానిక్స్ రాకకు చాలా కాలం ముందు సైనిక గూఢ లిపి శాస్త్రంలో పని చేసేవి.
ఫీడ్బ్యాక్తో కూడిన షిఫ్ట్ రిజిస్టర్ (ఇకపై РгСсОС) రెండు భాగాలను కలిగి ఉంటుంది: షిఫ్ట్ రిజిస్టర్ మరియు ఫీడ్బ్యాక్ ఫంక్షన్. షిఫ్ట్ రిజిస్టర్ అనేది బిట్ల క్రమం. బిట్ల సంఖ్య నిర్ణయించబడుతుంది షిఫ్ట్ రిజిస్టర్ పొడవు, పొడవు n బిట్స్ అయితే, రిజిస్టర్ అంటారు n-bit షిఫ్ట్ రిజిస్టర్... బిట్ను తిరిగి పొందాల్సిన అవసరం వచ్చినప్పుడు, షిఫ్ట్ రిజిస్టర్లోని అన్ని బిట్లు 1 స్థానం ద్వారా కుడివైపుకి మార్చబడతాయి. కొత్త ఎడమ-అత్యంత బిట్ అనేది అన్ని ఇతర రిజిస్టర్ బిట్ల ఫంక్షన్. షిఫ్ట్ రిజిస్టర్ యొక్క అవుట్పుట్ ఒకటి, సాధారణంగా తక్కువ ముఖ్యమైనది, బిట్. షిఫ్ట్ రిజిస్టర్ వ్యవధిదాని పునరావృతం ప్రారంభానికి ముందు ఫలిత క్రమం యొక్క పొడవు.
మూర్తి 1. ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్
షిఫ్ట్ రిజిస్టర్లు చాలా త్వరగా స్ట్రీమ్ సైఫర్లలోకి ప్రవేశించాయి, ఎందుకంటే అవి డిజిటల్ హార్డ్వేర్ను ఉపయోగించి సులభంగా అమలు చేయబడతాయి. 1965లో, నార్వేజియన్ ప్రభుత్వ ప్రధాన క్రిప్టోగ్రాఫర్ ఎర్నెస్ట్ సెల్మెర్ షిఫ్ట్ రిజిస్టర్ సీక్వెన్స్ల సిద్ధాంతాన్ని అభివృద్ధి చేశాడు. సోలమన్ గోలోంబ్, ఒక NSA గణిత శాస్త్రజ్ఞుడు, అతని ఫలితాలు మరియు సెల్మెర్ ఫలితాలలో కొన్నింటిని వివరిస్తూ ఒక పుస్తకాన్ని వ్రాసాడు. ఫీడ్బ్యాక్తో కూడిన సరళమైన షిఫ్ట్ రిజిస్టర్ అనేది లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ (ఇకపై LFSR లేదా PrCCLOCగా సూచిస్తారు). అటువంటి రిజిస్టర్ల యొక్క ఫీడ్బ్యాక్ కొన్ని రిజిస్టర్ బిట్ల యొక్క XOR (మాడ్యులో రెండు అదనంగా) మాత్రమే, ఈ బిట్ల జాబితాను ట్యాప్ సీక్వెన్స్ అంటారు. ఈ రిజిస్టర్ని కొన్నిసార్లు ఫిబ్బనాక్సీ కాన్ఫిగరేషన్ అంటారు. ఫీడ్బ్యాక్ సీక్వెన్స్ యొక్క సరళత కారణంగా, PrCcVOC యొక్క విశ్లేషణ కోసం బాగా అభివృద్ధి చెందిన గణిత సిద్ధాంతాన్ని ఉపయోగించవచ్చు. ఫలిత అవుట్పుట్ సీక్వెన్స్లను విశ్లేషించడం ద్వారా, ఈ సీక్వెన్సులు సురక్షితంగా ఉండటానికి తగినంత యాదృచ్ఛికంగా ఉన్నాయని మీరు ధృవీకరించవచ్చు. PrCcLOC అనేది క్రిప్టోగ్రఫీలో సాధారణంగా ఉపయోగించే షిఫ్ట్ రిజిస్టర్.
మూర్తి 2. PrCsLOC ఫిబ్బనాక్సీ
సాధారణంగా, n-bit PrCcLOC N = 2 n -1 అంతర్గత స్థితులలో ఒకదానిలో ఉంటుంది. దీని అర్థం, సిద్ధాంతపరంగా, అటువంటి రిజిస్టర్ T = 2 n -1 బిట్ల వ్యవధితో నకిలీ-రాండమ్ సీక్వెన్స్ను రూపొందించగలదు. (అంతర్గత స్థితుల సంఖ్య మరియు వ్యవధి N = T max = 2 n -1కి సమానం, ఎందుకంటే PrCcLOCని సున్నాలతో పూరించడం వలన షిఫ్ట్ రిజిస్టర్ సున్నాల యొక్క అనంతమైన క్రమాన్ని ఉత్పత్తి చేస్తుంది, ఇది పూర్తిగా పనికిరానిది). నిర్దిష్ట ట్యాప్-ఆఫ్ సీక్వెన్స్ల కోసం మాత్రమే, PrCcLOC మొత్తం 2 n -1 అంతర్గత స్థితుల గుండా చక్రీయంగా వెళుతుంది, అటువంటి PrCcLOC గరిష్ట వ్యవధితో PrCcLOC... ఫలిత ఫలితాన్ని అంటారు M-క్రమం.
ఉదాహరణ ... దిగువ బొమ్మ మొదటి మరియు నాల్గవ బిట్ల నుండి నొక్కబడిన 4-బిట్ PrCcLOCని చూపుతుంది. ఇది 1111 విలువతో ప్రారంభించబడితే, పునరావృతమయ్యే ముందు రిజిస్టర్ క్రింది అంతర్గత స్థితులను పొందుతుంది:
షిఫ్ట్ గడియారం సంఖ్య (అంతర్గత స్థితి) |
రాష్ట్ర నమోదు |
అవుట్పుట్ బిట్ |
|||
ప్రారంభ విలువ |
|||||
15 (ప్రారంభ స్థితికి తిరిగి వెళ్ళు) |
|||||
16 (రిపీట్ స్టేట్స్) |
అవుట్పుట్ సీక్వెన్స్ కనీసం ముఖ్యమైన బిట్ల స్ట్రింగ్గా ఉంటుంది: 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 వ్యవధితో T = 15, మొత్తం అంతర్గత స్థితుల సంఖ్య (సున్నా మినహా), N = 2 4 -1 = 16-1 = 15 = T గరిష్టంగా, అందుకే అవుట్పుట్ సీక్వెన్స్ M-సీక్వెన్స్.
నిర్దిష్ట PrCcLOC గరిష్ట వ్యవధిని కలిగి ఉండాలంటే, బ్రాంచ్ సీక్వెన్స్ నుండి ఏర్పడిన బహుపది మరియు స్థిరమైన 1 తప్పనిసరిగా ఆదిమ మాడ్యులో 2 అయి ఉండాలి. బహుపది అనేది డిగ్రీల మొత్తంగా సూచించబడుతుంది, ఉదాహరణకు, డిగ్రీ n యొక్క బహుపది ఇలా సూచించబడుతుంది. క్రింది:
a n x n + a n-1 x n-1 +… + a 1 x 1 + a 0 x 0 = a n x n + a n-1 x n-1 +… + a 1 x + a 0 ఎక్కడ ఎ i = (0,1) i = 1... n, a x i - అంకెను సూచిస్తుంది.
బహుపది యొక్క డిగ్రీ అనేది షిఫ్ట్ రిజిస్టర్ యొక్క పొడవు. n డిగ్రీ యొక్క ఆదిమ బహుపది అనేది x 2n? సంబంధిత గణిత సిద్ధాంతాన్ని కనుగొనవచ్చు.
సాధారణంగా, ఇచ్చిన డిగ్రీ మాడ్యులో 2 యొక్క ఆదిమ బహుపదిలను రూపొందించడానికి సులభమైన మార్గం లేదు. యాదృచ్ఛికంగా బహుపదిని ఎంచుకుని, అది ఆదిమంగా ఉందో లేదో తనిఖీ చేయడం సులభమయిన మార్గం. ఇది అంత సులభం కాదు మరియు యాదృచ్ఛికంగా ఎంచుకున్న సంఖ్య సరళమైనదా అని తనిఖీ చేయడం లాంటిది - కానీ చాలా గణిత సాఫ్ట్వేర్ ప్యాకేజీలు ఈ సమస్యను పరిష్కరించగలవు.
కొన్ని, కానీ ఖచ్చితంగా అన్నీ కాదు, వివిధ డిగ్రీల బహుపదాలు, ఆదిమ మోడ్ 2, క్రింద ఇవ్వబడ్డాయి. ఉదాహరణకు, ప్రవేశం
(32, 7, 5, 3, 2, 1, 0) అంటే కింది బహుపది ఆదిమ మోడ్ 2: x 32 + x 7 + x 5 + x 3 + x 2 + x + 1.
ఇది గరిష్ట వ్యవధితో PrCCLOC కోసం సులభంగా సాధారణీకరించబడుతుంది. మొదటి సంఖ్య PrCcLOC యొక్క పొడవు. చివరి సంఖ్య ఎల్లప్పుడూ 0 మరియు విస్మరించవచ్చు. 0 మినహా అన్ని సంఖ్యలు, షిఫ్ట్ రిజిస్టర్ యొక్క ఎడమ అంచు నుండి లెక్కించబడిన వేలు క్రమాన్ని పేర్కొంటాయి. అంటే, తక్కువ డిగ్రీ ఉన్న బహుపది సభ్యులు రిజిస్టర్ యొక్క కుడి అంచుకు దగ్గరగా ఉన్న స్థానాలకు అనుగుణంగా ఉంటారు.
ఉదాహరణతో కొనసాగడం, వ్రాయడం (32, 7, 5, 3, 2, 1, 0) అంటే తీసుకున్న 32-బిట్ షిఫ్ట్ రిజిస్టర్ కోసం, ముప్పై రెండవ, ఏడవ, XOR చేయడం ద్వారా కొత్త బిట్, కొత్త బిట్ ఉత్పత్తి అవుతుంది. ఐదవ, మూడవ, రెండవ మరియు మొదటి బిట్లు. , ఫలితంగా వచ్చే PrCcLOC గరిష్ట పొడవును కలిగి ఉంటుంది, ఇది పునరావృతమయ్యే వరకు 2 32 -1 విలువలతో సైక్లింగ్ చేస్తుంది.
గరిష్ట పొడవుతో మూర్తి 4.32-బిట్ PrCcLOC
ప్రోగ్రామ్ కోడ్ РгСсЛОС ను పరిశీలిద్దాం, దీనిలో శాఖల క్రమం బహుపది (32, 7, 5, 3, 2, 1, 0) ద్వారా వర్గీకరించబడుతుంది. సి భాషలో ఇది ఇలా కనిపిస్తుంది:
స్టాటిక్ సంతకం చేయని పొడవైన ShiftRegister = 1;
/ * 0 తప్ప అన్నీ. * /
ShiftRegister = (((ShiftRegister >> 31)
^ (ShiftRegister >> 6)
^ (ShiftRegister >> 4)
^ (ShiftRegister >> 2)
^ (ShiftRegister >> 1)
^ ShiftRegister))
| (ShiftRegister >> 1);
తిరిగి ShiftRegister & 0x00000001;)
షిఫ్ట్ రిజిస్టర్ కంప్యూటర్ పదం కంటే పొడవుగా ఉంటే, కోడ్ మరింత క్లిష్టంగా మారుతుంది, కానీ ఎక్కువ కాదు. అనుబంధం B కొన్ని ఆదిమ బహుపదాల మాడ్యులో 2 యొక్క పట్టికను కలిగి ఉంది, మేము భవిష్యత్తులో ఈ బహుపదిల యొక్క కొన్ని లక్షణాలను గుర్తించడానికి అలాగే బ్రాంచ్ క్రమాన్ని నిర్వచించడానికి సాఫ్ట్వేర్ అమలులో ఉపయోగిస్తాము.
పట్టికలోని అన్ని అంశాలు బేసి సంఖ్య గుణకాలను కలిగి ఉన్నాయని గమనించాలి. PrCcLOCతో తదుపరి పని కోసం అటువంటి పొడవైన పట్టిక అందించబడింది, ఎందుకంటే PrCcLOC స్ట్రీమ్ సైఫర్లతో క్రిప్టోగ్రఫీ కోసం మరియు నకిలీ-రాండమ్ నంబర్ జనరేటర్లలో తరచుగా ఉపయోగించబడుతుంది. మా విషయంలో, మీరు అత్యధిక డిగ్రీ గరిష్టంగా ఏడుతో బహుపదిలను ఉపయోగించవచ్చు.
p (x) ఆదిమమైతే, x n p (1 / x) కూడా ఆదిమంగా ఉంటుంది, కాబట్టి పట్టికలోని ప్రతి మూలకం వాస్తవానికి రెండు ఆదిమ బహుపదాలను నిర్వచిస్తుంది. ఉదాహరణకు, (a, b, 0) ఆదిమమైతే, అది కూడా (a, a-b, 0). అది ఆదిమమైతే (a, b, c, d, 0), అది కూడా ఆదిమమే (a, a-d, a-c, a-b, 0). గణితశాస్త్రపరంగా:
x a + x b +1 ఆదిమమైతే, x a + x a-b +1 కూడా ఆదిమమే,
x a + x b + x c + x d +1 ఆదిమమైతే, x a + x a-d + x a-c + x a-b +1 కూడా ఆదిమమే. సాఫ్ట్వేర్లో ప్రిమిటివ్ ట్రినోమియల్లు చాలా త్వరగా అమలు చేయబడతాయి, ఎందుకంటే కొత్త బిట్ను రూపొందించడానికి, షిఫ్ట్ రిజిస్టర్లోని రెండు బిట్లు మాత్రమే XORed చేయాలి (సున్నా పదం పరిగణనలోకి తీసుకోబడదు, అంటే x 0 = 1, పై ఉదాహరణ చూడండి). నిజానికి, పట్టికలో చూపబడిన అన్ని ఫీడ్బ్యాక్ బహుపదిలు చాలా తక్కువగా ఉన్నాయి, అంటే వాటికి కొన్ని గుణకాలు ఉన్నాయి. స్పేర్నెస్ అనేది ఎల్లప్పుడూ బలహీనతకు మూలం, ఇది కొన్నిసార్లు అల్గారిథమ్ను ఛేదించడానికి సరిపోతుంది. క్రిప్టోగ్రాఫిక్ అల్గారిథమ్ల కోసం, అనేక కోఎఫీషియంట్లతో కూడిన దట్టమైన ఆదిమ బహుపదాలను ఉపయోగించడం చాలా మంచిది. దట్టమైన బహుపదాలను ఉపయోగించడం ద్వారా, ముఖ్యంగా కీలో భాగంగా, చాలా తక్కువ PsCLOCలను ఉపయోగించవచ్చు.
దట్టమైన ఆదిమ బహుపదాలు mod 2ని రూపొందించడం అంత సులభం కాదు. సాధారణంగా, డిగ్రీ k యొక్క ఆదిమ బహుపదాలను రూపొందించడానికి, మీరు 2 k -1 యొక్క కారకాన్ని తెలుసుకోవాలి.
స్వయంగా, PrCcLOC లు మంచి నకిలీ-రాండమ్ సీక్వెన్స్ జనరేటర్లు, కానీ అవి కొన్ని అవాంఛనీయ నాన్-రాండమ్ (నిర్ణయాత్మక) లక్షణాలను కలిగి ఉంటాయి. వరుస బిట్లు సరళంగా ఉంటాయి, వాటిని ఎన్క్రిప్షన్కు పనికిరాకుండా చేస్తాయి. PrCLOC పొడవు n కోసం, అంతర్గత స్థితి అనేది జనరేటర్ యొక్క మునుపటి n అవుట్పుట్ బిట్లు. ఫీడ్బ్యాక్ స్కీమ్ రహస్యంగా ఉంచబడినప్పటికీ, అది అత్యంత సమర్థవంతమైన Berlekamp-Massey అల్గారిథమ్ని ఉపయోగించి జనరేటర్ యొక్క 2n అవుట్పుట్ బిట్ల నుండి నిర్ణయించబడుతుంది.
అదనంగా, ఈ సీక్వెన్స్ యొక్క ప్రక్కనే ఉన్న బిట్లను ఉపయోగించి ఉత్పత్తి చేయబడిన పెద్ద యాదృచ్ఛిక సంఖ్యలు చాలా పరస్పర సంబంధం కలిగి ఉంటాయి మరియు కొన్ని రకాల అప్లికేషన్లకు, యాదృచ్ఛికంగా ఉండవు. అయినప్పటికీ, గుప్తీకరణ వ్యవస్థలు మరియు అల్గారిథమ్ల భాగాలుగా ఎన్క్రిప్షన్ అల్గారిథమ్లను రూపొందించడానికి PgCsLOCలు తరచుగా ఉపయోగించబడతాయి.
ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్రెండు భాగాలను కలిగి ఉంటుంది: షిఫ్ట్ రిజిస్టర్ మరియు అభిప్రాయ విధులు.
మూర్తి 19. ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్.
సాధారణంగా, షిఫ్ట్ రిజిస్టర్ అనేది రింగ్ లేదా ఫీల్డ్లోని కొన్ని అంశాల క్రమం. సర్వసాధారణంగా ఉపయోగిస్తారు బిట్షిఫ్ట్ రిజిస్టర్లు. అటువంటి రిజిస్టర్ యొక్క పొడవు బిట్ల సంఖ్యలో వ్యక్తీకరించబడుతుంది. ప్రతిసారి బిట్ని తిరిగి పొందినప్పుడు, రిజిస్టర్లోని అన్ని బిట్లు ఒక స్థానానికి కుడివైపుకి మార్చబడతాయి. కొత్త అత్యంత ముఖ్యమైన బిట్ అన్ని ఇతర రిజిస్టర్ బిట్ల ఫంక్షన్గా లెక్కించబడుతుంది. అవుట్పుట్ సాధారణంగా తక్కువ ముఖ్యమైన బిట్గా ఉంటుంది. షిఫ్ట్ రిజిస్టర్ యొక్క కాలం దాని పునరావృతం ప్రారంభానికి ముందు అవుట్పుట్ సీక్వెన్స్ యొక్క పొడవు.
షిఫ్ట్ రిజిస్టర్ల యొక్క సరళమైన రకం లీనియర్ ఫీడ్బ్యాక్ షిఫ్ట్ రిజిస్టర్ (RSLOS లేదా LRS). అభిప్రాయం అనేది కొన్ని రిజిస్టర్ బిట్లపై ఒక సాధారణ XOR ఆపరేషన్. ఈ బిట్ల జాబితా నిర్వచించబడింది లక్షణ బహుపదిమరియు పిలిచారు వంపుల క్రమం... దీనిని కొన్నిసార్లు అంటారు ఫైబొనాక్సీ కాన్ఫిగరేషన్.
అత్తి 20. RLOS ఫైబొనాక్సీ కాన్ఫిగరేషన్.
RSLOS యొక్క సాఫ్ట్వేర్ అమలులో, సవరించిన పథకం ఉపయోగించబడుతుంది: కొత్త ముఖ్యమైన బిట్ను రూపొందించడానికి, ట్యాప్ సీక్వెన్స్ యొక్క బిట్లను ఉపయోగించకుండా, పాత బిట్ను భర్తీ చేస్తూ, ప్రతి బిట్పై జనరేటర్ అవుట్పుట్తో XOR ఆపరేషన్ చేయబడుతుంది. ట్యాప్ సీక్వెన్స్. ఈ సవరణను కొన్నిసార్లు అంటారు Galois కాన్ఫిగరేషన్.
అత్తి 21. RSLOS గాలోయిస్ కాన్ఫిగరేషన్.
n-బిట్ RSLOS 2లో ఒకదానిలో ఉండవచ్చు n- 1 అంతర్గత రాష్ట్రాలు. దీని అర్థం, సిద్ధాంతపరంగా, అటువంటి రిజిస్టర్ 2 వ్యవధితో నకిలీ-రాండమ్ సీక్వెన్స్ను రూపొందించగలదు n- 1 బిట్లు (సున్నాలతో ప్యాడింగ్ చేయడం పూర్తిగా పనికిరానిది). మొత్తం 2 పాస్ n- 1 అంతర్గత స్థితులు నిర్దిష్ట ట్యాప్ల సీక్వెన్స్లతో మాత్రమే సాధ్యమవుతాయి. అటువంటి రిజిస్టర్లను గరిష్ట వ్యవధితో RSLOS అంటారు. RSLOC యొక్క గరిష్ట వ్యవధిని నిర్ధారించడానికి, దాని లక్షణం బహుపది ఉండాలి ఆదిమమాడ్యులో 2. బహుపది యొక్క డిగ్రీ అనేది షిఫ్ట్ రిజిస్టర్ యొక్క పొడవు. డిగ్రీ యొక్క ఆదిమ బహుపది n- ఇది అలాంటిది తగ్గించలేనిబహుపది అది భాగహారం కాని భాగహారం కాదు x డిఅందరికీ + 1 డి 2 యొక్క భాజకాలు n- 1. (బహుపదాలను చర్చిస్తున్నప్పుడు, పదం ప్రధాన సంఖ్యపదం ద్వారా భర్తీ చేయబడింది తగ్గించలేని బహుపది) RSLOS యొక్క బొమ్మలలో ఇవ్వబడిన లక్షణం బహుపది:
x 32 + x 7 + x 5 + x 3 + x 2 + x + 1
ఆదిమ మాడ్యులో 2. అటువంటి రిజిస్టర్ వ్యవధి గరిష్టంగా ఉంటుంది, అవి పునరావృతమయ్యే వరకు మొత్తం 2 32 - 1 విలువలను సైక్లింగ్ చేస్తుంది. అత్యంత సాధారణంగా ఉపయోగించే పలచబరిచిన బహుపదాలు, అనగా. ఇది కొన్ని గుణకాలను మాత్రమే కలిగి ఉంటుంది. అత్యంత ప్రజాదరణ పొందినవి త్రినామికలు.
RSLOS ఆధారంగా జనరేటర్ యొక్క ముఖ్యమైన పరామితి సరళ సంక్లిష్టత... ఇది పొడవుగా నిర్వచించబడింది nజనరేటర్ అవుట్పుట్ను అనుకరించే అతి చిన్న RLOS. సరళమైన సంక్లిష్టత ముఖ్యమైనది ఎందుకంటే సరళమైనది Berlenkamp-Massey అల్గోరిథంమీరు 2ని మాత్రమే తనిఖీ చేయడం ద్వారా అటువంటి RSLOSని పునఃసృష్టించవచ్చు nగామా బిట్స్. కావలసిన RSLOS యొక్క నిర్వచనంతో, స్ట్రీమ్ సాంకేతికలిపి నిజానికి విచ్ఛిన్నమైంది.
RSLOSతో పాటు, నాన్లీనియర్ ఫీడ్బ్యాక్, క్యారీ ఫీడ్బ్యాక్తో కూడిన షిఫ్ట్ రిజిస్టర్లు కూడా ఉపయోగించబడతాయి.
సంఖ్య-సిద్ధాంత విధానం (బ్లూమ్-మికాలీ జనరేటర్లు, RSA, BBS, కంప్రెసివ్, సంకలిత జనరేటర్లు మొదలైనవి) ఆధారంగా అనేక జనరేటర్లు అభివృద్ధి చేయబడ్డాయి.
స్ట్రీమ్ క్రిప్టోగ్రాఫిక్ అల్గారిథమ్ల సంశ్లేషణ కోసం సాఫ్ట్వేర్ మరింత వివరంగా మరియు బ్లాక్ క్రిప్టోఅల్గోరిథమ్లతో పోల్చి అభివృద్ధి చేయబడింది. అయినప్పటికీ, స్ట్రీమ్ సైఫర్లను రూపొందించడానికి, బ్లాక్ క్రిప్టోఅల్గోరిథమ్లు తరచుగా OFB లేదా CFB మోడ్లలో ఉపయోగించబడతాయి.
మనస్తత్వశాస్త్రంలో అవతారాల విలువ
మనస్తత్వశాస్త్రంలో అవతారాల విలువ
MS Word లో అక్షరాన్ని ఎలా నొక్కి చెప్పాలి
ఒక వ్యక్తి అవతార్ అయితే దాని అర్థం ఏమిటి
మీ స్వంత ట్విట్టర్ మూమెంట్ని ఎలా సృష్టించాలి