TFC (టిన్ఫాయిల్ చాట్) ప్రాజెక్ట్ 3 కంప్యూటర్లను కనెక్ట్ చేయడానికి మరియు పారనోయిడ్-రక్షిత సందేశ వ్యవస్థను రూపొందించడానికి 3 USB పోర్ట్లతో కూడిన హార్డ్వేర్ పరికరాన్ని ప్రతిపాదించింది.
మొదటి కంప్యూటర్ నెట్వర్క్కు కనెక్ట్ చేయడానికి మరియు టోర్ దాచిన సేవను ప్రారంభించడానికి గేట్వేగా పనిచేస్తుంది; ఇది ఇప్పటికే ఎన్క్రిప్ట్ చేసిన డేటాను తారుమారు చేస్తుంది.
రెండవ కంప్యూటర్ డిక్రిప్షన్ కీలను కలిగి ఉంది మరియు స్వీకరించిన సందేశాలను డీక్రిప్ట్ చేయడానికి మరియు ప్రదర్శించడానికి మాత్రమే ఉపయోగించబడుతుంది.
మూడవ కంప్యూటర్ ఎన్క్రిప్షన్ కీలను కలిగి ఉంది మరియు కొత్త సందేశాలను గుప్తీకరించడానికి మరియు పంపడానికి మాత్రమే ఉపయోగించబడుతుంది.
USB స్ప్లిటర్ "డేటా డయోడ్" సూత్రంపై ఆప్టోకప్లర్లపై పనిచేస్తుంది మరియు భౌతికంగా డేటాను పేర్కొన్న దిశలలో మాత్రమే పంపుతుంది: రెండవ కంప్యూటర్ వైపు డేటాను పంపడం మరియు మూడవ కంప్యూటర్ నుండి డేటాను స్వీకరించడం.
మొదటి కంప్యూటర్ను రాజీ చేయడం వలన మీరు ఎన్క్రిప్షన్ కీలు, డేటాకు ప్రాప్యతను పొందలేరు మరియు మిగిలిన పరికరాలపై దాడిని కొనసాగించడానికి మిమ్మల్ని అనుమతించరు.
రెండవ కంప్యూటర్ రాజీపడినప్పుడు, దాడి చేసే వ్యక్తి సందేశాలు మరియు కీలను చదువుతాడు, కానీ వాటిని బయటి ప్రపంచానికి ప్రసారం చేయలేరు, ఎందుకంటే డేటా బయటి నుండి మాత్రమే స్వీకరించబడుతుంది, కానీ బయటికి పంపబడదు.
మూడవ కంప్యూటర్ రాజీకి గురైతే, దాడి చేసే వ్యక్తి చందాదారుని వలె నటించి అతని తరపున సందేశాలను వ్రాయవచ్చు, కానీ బయటి నుండి వచ్చే డేటాను చదవలేరు (ఇది రెండవ కంప్యూటర్కు వెళ్లి అక్కడ డీక్రిప్ట్ చేయబడుతుంది).
ఎన్క్రిప్షన్ 256-బిట్ XChaCha20-Poly1305 అల్గారిథమ్పై ఆధారపడి ఉంటుంది మరియు పాస్వర్డ్తో కీలను రక్షించడానికి నెమ్మదిగా Argon2id హాష్ ఫంక్షన్ ఉపయోగించబడుతుంది. కీ మార్పిడి కోసం, X448 (Diffie-Hellman ప్రోటోకాల్ ఆధారిత Curve448) లేదా PSK కీలు (ముందుగా పంచుకున్నవి) ఉపయోగించబడతాయి. ప్రతి సందేశం Blake2b హ్యాష్ల ఆధారంగా ఖచ్చితమైన ఫార్వర్డ్ సీక్రెసీ (PFS, పర్ఫెక్ట్ ఫార్వర్డ్ సీక్రెసీ) మోడ్లో ప్రసారం చేయబడుతుంది, దీనిలో దీర్ఘకాలిక కీలలో ఒకదాని యొక్క రాజీ గతంలో అంతరాయం కలిగించిన సెషన్ యొక్క డిక్రిప్షన్ను అనుమతించదు.
అప్లికేషన్ ఇంటర్ఫేస్ చాలా సరళమైనది మరియు మూడు ప్రాంతాలుగా విభజించబడిన విండోను కలిగి ఉంటుంది - పంపడం, స్వీకరించడం మరియు గేట్వేతో పరస్పర చర్య యొక్క లాగ్తో కమాండ్ లైన్. నియంత్రణ ప్రత్యేక ఆదేశాల ద్వారా నిర్వహించబడుతుంది.
కార్యక్రమం ప్రాజెక్ట్ కోడ్ వ్రాయబడింది పైథాన్లో మరియు GPLv3 లైసెన్స్లో అందుబాటులో ఉంది. స్ప్లిటర్ సర్క్యూట్లు చేర్చబడ్డాయి (PCB) మరియు GNU FDL 1.3 లైసెన్స్ క్రింద అందుబాటులో ఉన్నాయి, స్ప్లిటర్ అందుబాటులో ఉన్న భాగాల నుండి సమీకరించబడుతుంది.
మూలం: linux.org.ru