Correlation attack
ಪರಸ್ಪರ ಸಂಬಂಧದ ದಾಳಿಗಳು ಒಂದು ಬೂಲಿಯನ್ ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಹಲವಾರು ರೇಖೀಯ-ಪ್ರತಿಕ್ರಿಯೆ ಶಿಫ್ಟ್ ರೆಜಿಸ್ಟರ್ಗಳ (ಎಲ್ಎಫ್ಎಸ್ಆರ್ಗಳು) ಔಟ್ಪುಟ್ ಅನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ ಕೀಸ್ಟ್ರೀಮ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಸ್ಟ್ರೀಮ್ ಸೈಫರ್ಗಳನ್ನು ಮುರಿಯಲು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ತಿಳಿದ-ಪ್ಲೇನ್ ಟೆಕ್ಸ್ಟ್ ದಾಳಿಯ ಒಂದು ವರ್ಗವಾಗಿದೆ. ಪರಸ್ಪರ ಸಂಬಂಧದ ದಾಳಿಗಳು ಕೀಸ್ಟ್ರೀಮ್ಗಾಗಿ ಆಯ್ಕೆ ಮಾಡಲಾದ ನಿರ್ದಿಷ್ಟ ಬೂಲಿಯನ್ ಕಾರ್ಯದಿಂದ ಉಂಟಾಗುವ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ದೌರ್ಬಲ್ಯವನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತವೆ. ಕೆಲವು ಬೂಲಿಯನ್ ಕಾರ್ಯಗಳು ಪರಸ್ಪರ ಸಂಬಂಧದ ದಾಳಿಗೆ ಗುರಿಯಾಗುತ್ತವೆಯಾದರೂ, ಅಂತಹ ಕಾರ್ಯಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಉತ್ಪತ್ತಿಯಾಗುವ ಸ್ಟ್ರೀಮ್ ಸೈಫರ್ಗಳು ಅಂತರ್ಗತವಾಗಿ ಅಸುರಕ್ಷಿತವಾಗಿರುವುದಿಲ್ಲ. ವಿವರಣೆ ಕೀಸ್ಟ್ರೀಮ್ ಜನರೇಟರ್ನಲ್ಲಿನ ವೈಯಕ್ತಿಕ ಎಲ್ಎಫ್ಎಸ್ಆರ್ನ ಔಟ್ಪುಟ್ ಸ್ಥಿತಿ ಮತ್ತು ಎಲ್ಲಾ ಎಲ್ಎಫ್ಎಸ್ಆರ್ಗಳ ಔಟ್ಪುಟ್ ಸ್ಥಿತಿಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಬೂಲಿಯನ್ ಕಾರ್ಯದ ಔಟ್ಪುಟ್ನ ನಡುವೆ ಗಮನಾರ್ಹ ಪರಸ್ಪರ ಸಂಬಂಧವಿದ್ದಾಗ ಪರಸ್ಪರ ಸಂಬಂಧದ ದಾಳಿಗಳು ಸಾಧ್ಯವಾಗುತ್ತವೆ. ಈ ದಾಳಿಗಳನ್ನು ಕೀಸ್ಟ್ರೀಮ್ನ ಭಾಗಶಃ ಜ್ಞಾನದೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ, ಇದು ಸರಳ ಪಠ್ಯದ ಭಾಗಶಃ ಜ್ಞಾನದಿಂದ ಪಡೆಯಲಾಗಿದೆ. ನಂತರ ಇವೆರಡನ್ನೂ XOR ಲಾಜಿಕ್ ಗೇಟ್ ಬಳಸಿ ಹೋಲಿಸಲಾಗುತ್ತದೆ. ಈ ದುರ್ಬಲತೆಯು ಆಕ್ರಮಣಕಾರರಿಗೆ ಪ್ರತ್ಯೇಕ ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್ ಮತ್ತು ಉಳಿದ ವ್ಯವಸ್ಥೆಯ ಕೀಲಿಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಕ್ರೂರವಾಗಿ ಒತ್ತಾಯಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಕೀಸ್ಟ್ರೀಮ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು ನಾಲ್ಕು 8-ಬಿಟ್ ಎಲ್ಎಫ್ಎಸ್ಆರ್ಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಕೀಸ್ಟ್ರೀಮ್ ಜನರೇಟರ್ನಲ್ಲಿ, ಮತ್ತು ರೆಜಿಸ್ಟರ್ಗಳಲ್ಲಿ ಒಂದನ್ನು ಬೂಲಿಯನ್ ಫಂಕ್ಷನ್ ಔಟ್ಪುಟ್ಗೆ ಪರಸ್ಪರ ಸಂಬಂಧಿಸಿದ್ದರೆ, ಅದನ್ನು ಮೊದಲು ಕ್ರೂರವಾಗಿ ಒತ್ತಾಯಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, ನಂತರ ಉಳಿದ ಮೂರು ಎಲ್ಎಫ್ಎಸ್ಆರ್ಗಳು. ಇದರ ಪರಿಣಾಮವಾಗಿ, ಒಟ್ಟು ದಾಳಿಯ ಸಂಕೀರ್ಣತೆಯು 28 + 224 ಆಗುತ್ತದೆ. ಇಡೀ ವ್ಯವಸ್ಥೆಯ ಮೇಲೆ ಬ್ರೂಟ್-ಫೋರ್ಸ್ ದಾಳಿಯನ್ನು ಪ್ರಾರಂಭಿಸುವ ವೆಚ್ಚಕ್ಕೆ ಹೋಲಿಸಿದರೆ, ಸಂಕೀರ್ಣತೆ 232 ರೊಂದಿಗೆ, ಇದು ಕೇವಲ 256 ಕ್ಕಿಂತ ಕಡಿಮೆ ಆಕ್ರಮಣ ಪ್ರಯತ್ನದ ಉಳಿತಾಯ ಅಂಶವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ. ಎರಡನೇ ರಿಜಿಸ್ಟರ್ ಕಾರ್ಯದೊಂದಿಗೆ ಪರಸ್ಪರ ಸಂಬಂಧ ಹೊಂದಿದ್ದರೆ, ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸಬಹುದು ಮತ್ತು 65028 ಕ್ಕಿಂತ ಕಡಿಮೆ ಪ್ರಯತ್ನ ಉಳಿತಾಯ ಅಂಶಕ್ಕಾಗಿ ದಾಳಿಯ ಸಂಕೀರ್ಣತೆಯನ್ನು 28 + 28 + 216 ಕ್ಕೆ ಇಳಿಸಬಹುದು. ಉದಾಹರಣೆ ಜೆಫ್ಫೆ ಜನರೇಟರ್ ಒಂದು ಉದಾಹರಣೆಯೆಂದರೆ ಜೆಫ್ಫೆ ಜನರೇಟರ್, ಇದು ಮೂರು ಎಲ್ಎಫ್ಎಸ್ಆರ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆಃ ಎಲ್ಎಫ್ಎಸ್ಆರ್-1, ಎಲ್ಎಫ್ಎಸ್ಆರ್-2, ಮತ್ತು ಎಲ್ಎಫ್ಎಸ್ಆರ್-3. ಈ ರೆಜಿಸ್ಟರ್ಗಳನ್ನು ಕ್ರಮವಾಗಿಃ,, ಮತ್ತು ಎಂದು ಸೂಚಿಸೋಣ. ನಂತರ, ಜನರೇಟರ್ ಔಟ್ಪುಟ್ ಅನ್ನು ಒದಗಿಸಲು ಮೂರು ರೆಜಿಸ್ಟರ್ಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಬೂಲಿಯನ್ ಕಾರ್ಯವನ್ನು (ಅಂದರೆ. (ಮತ್ತು) XOR (ಅಲ್ಲ ಮತ್ತು)). ಮೂರು ರೆಜಿಸ್ಟರ್ಗಳ ಔಟ್ಪುಟ್ಗಳಿಗೆ 23 = 8 ಸಂಭವನೀಯ ಮೌಲ್ಯಗಳಿವೆ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದಕ್ಕೂ ಈ ಸಂಯೋಜನೆಯ ಕಾರ್ಯದ ಮೌಲ್ಯವನ್ನು ಕೆಳಗಿನ ಕೋಷ್ಟಕದಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆಃ ಮೂರನೇ ರೆಜಿಸ್ಟರ್ನ ಔಟ್ಪುಟ್ ಅನ್ನು ಪರಿಗಣಿಸಿ. ಮೇಲಿನ ಕೋಷ್ಟಕವು 8 ಸಂಭವನೀಯ ಔಟ್ಪುಟ್ಗಳಲ್ಲಿ, 6 ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನ ಅನುಗುಣವಾದ ಮೌಲ್ಯಕ್ಕೆ ಸಮಾನವಾಗಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ. ಎಲ್ಲಾ ಸಂಭವನೀಯ ಪ್ರಕರಣಗಳಲ್ಲಿ 75 ಪ್ರತಿಶತ. ಹೀಗಾಗಿ ಎಲ್ಎಫ್ಎಸ್ಆರ್-3 ಜನರೇಟರ್ನೊಂದಿಗೆ 'ಪರಸ್ಪರ ಸಂಬಂಧ ಹೊಂದಿದೆ'. ಇದು ಈ ಕೆಳಗಿನಂತೆ ಬಳಸಿಕೊಳ್ಳಬಹುದಾದ ಒಂದು ದೌರ್ಬಲ್ಯವಾಗಿದೆಃ ಜೆಫ್ ಜನರೇಟರ್ ಅನ್ನು ಅದರ ಕೀಸ್ಟ್ರೀಮ್ ಜನರೇಟರ್ ಆಗಿ ಬಳಸಿಕೊಂಡು ಸ್ಟ್ರೀಮ್ ಸೈಫರ್ನಿಂದ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಸರಳ ಪಠ್ಯದ ಸೈಫರ್ ಪಠ್ಯದಲ್ಲಿ ಪ್ರತಿಬಂಧವನ್ನು ಮಾಡಬಹುದು, ಅಂದರೆ. ಏಕೆಂದರೆ, ಸಮಯದಲ್ಲಿ ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್-1 ರ ಔಟ್ಪುಟ್ ಎಲ್ಲಿದೆ, ಇತ್ಯಾದಿ. ಸರಳ ಪಠ್ಯದ ಭಾಗವೂ ಸಹ ಸಾಧ್ಯವಿದೆ, ಉದಾಹರಣೆಗೆ. ಸರಳ ಪಠ್ಯದ ಮೊದಲ 32 ಬಿಟ್ಗಳು (ಪಠ್ಯದ 4 ASCII ಅಕ್ಷರಗಳಿಗೆ ಅನುಗುಣವಾಗಿರುತ್ತವೆ). ಸರಳ ಪಠ್ಯವು ಮಾನ್ಯವಾದ ಎಕ್ಸ್ಎಂಎಲ್ ಕಡತವಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಿ ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಅಸಂಭವವಲ್ಲ, ಉದಾಹರಣೆಗೆ, ಮೊದಲ 4 ಎಎಸ್ಸಿಐಐ ಅಕ್ಷರಗಳು "<ಎಕ್ಸ್ಎಂಎಲ್" ಆಗಿರಬೇಕು. ಅಂತೆಯೇ, ಅನೇಕ ಕಡತ ಸ್ವರೂಪಗಳು ಅಥವಾ ಜಾಲಬಂಧ ಶಿಷ್ಟಾಚಾರಗಳು ಅತ್ಯಂತ ಪ್ರಮಾಣಿತ ಶೀರ್ಷಿಕೆಗಳು ಅಥವಾ ಅಡಿಟಿಪ್ಪಣಿಗಳನ್ನು ಹೊಂದಿವೆ. ಇಂಟರ್ಸೆಪ್ಟೆಡ್ ಮತ್ತು ನಮ್ಮ ತಿಳಿದಿರುವ/ಊಹೆಯನ್ನು ಗಮನಿಸಿದರೆ, ನಾವು XOR-ಇಂಗ್ ಮೂಲಕ ಎರಡನ್ನೂ ಒಟ್ಟಿಗೆ ಸುಲಭವಾಗಿ ಕಂಡುಹಿಡಿಯಬಹುದು. ಇದು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನ ಸತತ 32 ಬಿಟ್ಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಸುಲಭವಾಗಿಸುತ್ತದೆ. ಇದು ಎಲ್ಎಫ್ಎಸ್ಆರ್-3 ಗಾಗಿ ಸಂಭವನೀಯ ಕೀಲಿಗಳ (ಆರಂಭಿಕ ಮೌಲ್ಯಗಳು) ಸ್ಥಳದ ಬ್ರೂಟ್-ಫೋರ್ಸ್ ಹುಡುಕಾಟವನ್ನು ಶಕ್ತಗೊಳಿಸುತ್ತದೆ (ಎಲ್ಎಫ್ಎಸ್ಆರ್-3 ನ ಟ್ಯಾಪ್ ಮಾಡಲಾದ ಬಿಟ್ಗಳು ನಮಗೆ ತಿಳಿದಿವೆ ಎಂದು ಭಾವಿಸಿ, ಇದು ಕೆರ್ಕ್ಹಾಫ್ಸ್ನ ತತ್ವಕ್ಕೆ ಅನುಗುಣವಾಗಿದೆ). ಪ್ರಮುಖ ಸ್ಥಳದಲ್ಲಿನ ಯಾವುದೇ ಕೀಲಿಗಾಗಿ, ನಾವು ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್-3ರ ಔಟ್ಪುಟ್ನ ಮೊದಲ 32 ಬಿಟ್ಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಉತ್ಪಾದಿಸಬಹುದು ಮತ್ತು ಇವುಗಳನ್ನು ಇಡೀ ಜನರೇಟರ್ನ ಔಟ್ಪುಟ್ನ ಚೇತರಿಸಿಕೊಂಡ 32 ಬಿಟ್ಗಳಿಗೆ ಹೋಲಿಸಬಹುದು. ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್-3 ಮತ್ತು ಜನರೇಟರ್ನ ಉತ್ಪಾದನೆಯ ನಡುವೆ 75 ಪ್ರತಿಶತ ಪರಸ್ಪರ ಸಂಬಂಧವಿದೆ ಎಂದು ನಾವು ಮೊದಲೇ ಸ್ಥಾಪಿಸಿದ್ದರಿಂದ, ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್-3 ಉತ್ಪಾದನೆಯ ಮೊದಲ 32 ಬಿಟ್ಗಳಲ್ಲಿ ಸುಮಾರು 24 ಬಿಟ್ಗಳು ಜನರೇಟರ್ ಉತ್ಪಾದನೆಯ ಅನುಗುಣವಾದ ಬಿಟ್ಗಳೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾದರೆ ನಾವು ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್-3ರ ಕೀಲಿಯನ್ನು ಸರಿಯಾಗಿ ಊಹಿಸಿಕೊಂಡಿದ್ದೇವೆ ಎಂದು ನಮಗೆ ತಿಳಿದಿದೆ. ನಾವು ತಪ್ಪಾಗಿ ಊಹಿಸಿದ್ದರೆ, ಈ ಎರಡು ಅನುಕ್ರಮಗಳ ಮೊದಲ 32 ಬಿಟ್ಗಳಲ್ಲಿ ಸರಿಸುಮಾರು ಅರ್ಧ ಅಥವಾ 16 ಬಿಟ್ಗಳು ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತವೆ ಎಂದು ನಾವು ನಿರೀಕ್ಷಿಸಬೇಕು. ಹೀಗಾಗಿ ನಾವು ಎಲ್ಎಫ್ಎಸ್ಆರ್-1 ಮತ್ತು ಎಲ್ಎಫ್ಎಸ್ಆರ್-2ರ ಕೀಲಿಗಳಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ಎಲ್ಎಫ್ಎಸ್ಆರ್-3ರ ಕೀಲಿಗಳನ್ನು ಮರುಪಡೆಯಬಹುದು. ಈ ಹಂತದಲ್ಲಿ ನಾವು 3 ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್ಗಳ ವ್ಯವಸ್ಥೆಯನ್ನು ಬ್ರೂಟ್ ಫೋರ್ಸ್ ಮಾಡುವ ಸಮಸ್ಯೆಯನ್ನು ಒಂದೇ ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್ ಮತ್ತು ನಂತರ 2 ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್ಗಳ ವ್ಯವಸ್ಥೆಗೆ ಬ್ರೂಟ್ ಫೋರ್ಸ್ ಮಾಡುವ ಸಮಸ್ಯೆಗೆ ಕಡಿಮೆ ಮಾಡಿದ್ದೇವೆ. ಇಲ್ಲಿ ಉಳಿಸಿದ ಪ್ರಯತ್ನದ ಪ್ರಮಾಣವು ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್ಗಳ ಉದ್ದವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ವಾಸ್ತವಿಕ ಮೌಲ್ಯಗಳಿಗೆ, ಇದು ಬಹಳ ಗಣನೀಯ ಉಳಿತಾಯವಾಗಿದೆ ಮತ್ತು ಬ್ರೂಟ್-ಫೋರ್ಸ್ ಅಟ್ಯಾಕ್ಗಳನ್ನು ಬಹಳ ಪ್ರಾಯೋಗಿಕವಾಗಿಸುತ್ತದೆ. ಮೇಲಿನ ಕೋಷ್ಟಕದಲ್ಲಿ ಗಮನಿಸಿ, ಅದು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ ಅನ್ನು 8 ರಲ್ಲಿ 6 ಬಾರಿ ಒಪ್ಪುತ್ತದೆ, ಮತ್ತೆ ಜನರೇಟರ್ ಔಟ್ಪುಟ್ ಮತ್ತು ನಡುವೆ 75 ಪ್ರತಿಶತ ಪರಸ್ಪರ ಸಂಬಂಧವನ್ನು ಹೊಂದಿದೆ. ನಾವು ಎಲ್ಎಫ್ಎಸ್ಆರ್-1 ಮತ್ತು ಎಲ್ಎಫ್ಎಸ್ಆರ್-3 ಕೀಲಿಗಳಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ಎಲ್ಎಫ್ಎಸ್ಆರ್-2 ವಿರುದ್ಧ ಬ್ರೂಟ್ ಫೋರ್ಸ್ ದಾಳಿಯನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು, ಎಲ್ಎಫ್ಎಸ್ಆರ್-1 ಮಾತ್ರ ಮುರಿಯದೆ ಉಳಿಯುತ್ತದೆ. ಹೀಗಾಗಿ, ನಾವು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ವತಂತ್ರವಾದ 3 ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್. ಗಳನ್ನು ಕ್ರೂರವಾಗಿ ಒತ್ತಾಯಿಸಲು ಅಗತ್ಯವಿರುವಷ್ಟು ಪ್ರಯತ್ನದಿಂದ ಗೆಫ್ ಜನರೇಟರ್ ಅನ್ನು ಮುರಿಯಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಇದರರ್ಥ ಜೆಫ್ಫೆ ಜನರೇಟರ್ ಬಹಳ ದುರ್ಬಲ ಜನರೇಟರ್ ಆಗಿದೆ ಮತ್ತು ಸ್ಟ್ರೀಮ್ ಸೈಫರ್ ಕೀಸ್ಟ್ರೀಮ್ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಇದನ್ನು ಎಂದಿಗೂ ಬಳಸಬಾರದು. ಮೇಲಿನ ಕೋಷ್ಟಕದ ಟಿಪ್ಪಣಿ ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನೊಂದಿಗೆ 8 ರಲ್ಲಿ 4 ಬಾರಿ ಒಪ್ಪುತ್ತದೆ-50 ಪ್ರತಿಶತ ಪರಸ್ಪರ ಸಂಬಂಧ. ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್.-1 ಅನ್ನು ಇತರರಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ಕ್ರೂರವಾಗಿ ಒತ್ತಾಯಿಸಲು ನಾವು ಇದನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲಃ ಸರಿಯಾದ ಕೀಲಿಯು ಶೇಕಡಾ 50ರಷ್ಟು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಔಟ್ಪುಟ್ ಅನ್ನು ನೀಡುತ್ತದೆ, ಆದರೆ ಸರಾಸರಿ ತಪ್ಪಾದ ಕೀಲಿಯನ್ನು ನೀಡುತ್ತದೆ. ಇದು ಭದ್ರತಾ ದೃಷ್ಟಿಕೋನದಿಂದ ಆದರ್ಶ ಪರಿಸ್ಥಿತಿಯನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ-ಸಂಯೋಜನೆಯ ಕಾರ್ಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕು ಆದ್ದರಿಂದ ಪ್ರತಿ ವೇರಿಯೇಬಲ್ ಮತ್ತು ಸಂಯೋಜನೆಯ ಕಾರ್ಯದ ಔಟ್ಪುಟ್ ನಡುವಿನ ಪರಸ್ಪರ ಸಂಬಂಧವು ಸಾಧ್ಯವಾದಷ್ಟು 50 ಪ್ರತಿಶತಕ್ಕೆ ಹತ್ತಿರವಾಗಿರುತ್ತದೆ. ಆಚರಣೆಯಲ್ಲಿ, ಇತರ ವಿನ್ಯಾಸದ ಮಾನದಂಡಗಳನ್ನು ತ್ಯಾಗ ಮಾಡದೆ ಇದನ್ನು ಸಾಧಿಸುವ ಕಾರ್ಯವನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಕಷ್ಟವಾಗಬಹುದು, ಉದಾಹರಣೆಗೆ, ಅವಧಿಯ ಉದ್ದ, ಆದ್ದರಿಂದ ರಾಜಿ ಅಗತ್ಯವಾಗಬಹುದು. ದಾಳಿಯ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಸ್ವರೂಪವನ್ನು ಸ್ಪಷ್ಟಪಡಿಸುವುದು ಮೇಲಿನ ಉದಾಹರಣೆಯು ಪರಸ್ಪರ ಸಂಬಂಧದ ದಾಳಿಯ ಹಿಂದಿನ ತುಲನಾತ್ಮಕವಾಗಿ ಸರಳವಾದ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಚೆನ್ನಾಗಿ ವಿವರಿಸುತ್ತದೆಯಾದರೂ, ವೈಯಕ್ತಿಕ ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್ಗಳ ಬ್ರೂಟ್ ಫೋರ್ಸಿಂಗ್ ಹೇಗೆ ಮುಂದುವರಿಯುತ್ತದೆ ಎಂಬುದರ ವಿವರಣೆಯನ್ನು ಇದು ಬಹುಶಃ ಸರಳಗೊಳಿಸುತ್ತದೆ. ತಪ್ಪಾಗಿ ಊಹಿಸಲಾದ ಕೀಲಿಗಳು ಎಲ್ಎಫ್ಎಸ್ಆರ್ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ, ಅದು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನೊಂದಿಗೆ ಸರಿಸುಮಾರು 50 ಪ್ರತಿಶತದಷ್ಟು ಸಮಯವನ್ನು ಒಪ್ಪುತ್ತದೆ ಏಕೆಂದರೆ, ನಿರ್ದಿಷ್ಟ ಉದ್ದದ ಎರಡು ಯಾದೃಚ್ಛಿಕ ಬಿಟ್ ಅನುಕ್ರಮಗಳನ್ನು ನೀಡಿದರೆ, ಯಾವುದೇ ನಿರ್ದಿಷ್ಟ ಬಿಟ್ನಲ್ಲಿ ಅನುಕ್ರಮಗಳ ನಡುವಿನ ಒಪ್ಪಂದದ ಸಂಭವನೀಯತೆಯು 0.5 ಆಗಿರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ನಿರ್ದಿಷ್ಟ ವೈಯಕ್ತಿಕ ತಪ್ಪಾದ ಕೀಲಿಗಳು ಎಲ್ಎಫ್ಎಸ್ಆರ್ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸಬಹುದು, ಅದು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ ಅನ್ನು ನಿಖರವಾಗಿ 50 ಪ್ರತಿಶತಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಒಪ್ಪುತ್ತದೆ. ಜನರೇಟರ್ನೊಂದಿಗಿನ ಪರಸ್ಪರ ಸಂಬಂಧವು ವಿಶೇಷವಾಗಿ ಬಲವಾಗಿರದ ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್ಗಳ ವಿಷಯದಲ್ಲಿ ಇದು ವಿಶೇಷವಾಗಿ ಮುಖ್ಯವಾಗಿದೆ; ಸಾಕಷ್ಟು ಸಣ್ಣ ಪರಸ್ಪರ ಸಂಬಂಧಗಳಿಗೆ, ತಪ್ಪಾಗಿ ಊಹಿಸಲಾದ ಕೀಲಿಯು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನ ಅಪೇಕ್ಷಿತ ಸಂಖ್ಯೆಯ ಬಿಟ್ಗಳೊಂದಿಗೆ ಒಪ್ಪಿಕೊಳ್ಳುವ ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್ ಔಟ್ಪುಟ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ ಎಂಬುದು ಖಂಡಿತವಾಗಿಯೂ ಸಾಧ್ಯತೆಯ ಕ್ಷೇತ್ರದಿಂದ ಹೊರಗಿಲ್ಲ. ಹೀಗಾಗಿ, ಆ ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್. ಗೆ ವಿಶಿಷ್ಟವಾದ ಕೀಲಿಯನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗದಿರಬಹುದು. ಆದಾಗ್ಯೂ, ಹಲವಾರು ಸಂಭಾವ್ಯ ಕೀಲಿಗಳನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಿದೆ, ಇದು ಇನ್ನೂ ಸೈಫರ್ನ ಭದ್ರತೆಯ ಗಮನಾರ್ಹ ಉಲ್ಲಂಘನೆಯಾಗಿದೆ. ಇದಲ್ಲದೆ, ಒಂದು ಮೆಗಾಬೈಟ್ ತಿಳಿದಿರುವ ಸರಳ ಪಠ್ಯವನ್ನು ನೀಡಿದರೆ, ಪರಿಸ್ಥಿತಿಯು ಗಣನೀಯವಾಗಿ ಭಿನ್ನವಾಗಿರುತ್ತದೆ. ತಪ್ಪಾದ ಕೀಲಿಯು 512 ಕಿಲೋಬೈಟ್ಗಳಿಗಿಂತ ಹೆಚ್ಚು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನೊಂದಿಗೆ ಒಪ್ಪುವ ಎಲ್ಎಫ್ಎಸ್ಆರ್ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸಬಹುದು ಆದರೆ ಸರಿಯಾಗಿ ಊಹಿಸಿದ ಕೀಲಿಯಂತೆ 768 ಕಿಲೋಬೈಟ್ಗಳಷ್ಟು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನೊಂದಿಗೆ ಒಪ್ಪುವ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ಸಾಧ್ಯತೆಯಿಲ್ಲ. ನಿಯಮದಂತೆ, ವೈಯಕ್ತಿಕ ರಿಜಿಸ್ಟರ್ ಮತ್ತು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ ನಡುವಿನ ಪರಸ್ಪರ ಸಂಬಂಧವು ದುರ್ಬಲವಾದರೆ, ಆ ರಿಜಿಸ್ಟರ್ನ ಕೀಲಿಯನ್ನು ಹೆಚ್ಚಿನ ಮಟ್ಟದ ವಿಶ್ವಾಸದಿಂದ ಕಂಡುಹಿಡಿಯಲು ಹೆಚ್ಚು ತಿಳಿದಿರುವ ಸರಳ ಪಠ್ಯವು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ ಪರಸ್ಪರ ಸಂಬಂಧಕ್ಕೆ ಅಗತ್ಯವಿರುವ ತಿಳಿದಿರುವ ಸರಳ ಪಠ್ಯದ ಉದ್ದದ ಅಂದಾಜುಗಳನ್ನು ದ್ವಿಪದ ವಿತರಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಲೆಕ್ಕ ಹಾಕಬಹುದು. ಉನ್ನತ ಶ್ರೇಣಿಯ ಪರಸ್ಪರ ಸಂಬಂಧಗಳ ವ್ಯಾಖ್ಯಾನ ಜೆಫ್ ಜನರೇಟರ್ನ ಮೇಲಿನ ಉದಾಹರಣೆಯ ದಾಳಿಯಲ್ಲಿ ಬಳಸಿಕೊಳ್ಳಲಾದ ಪರಸ್ಪರ ಸಂಬಂಧಗಳು ಮೊದಲ ಶ್ರೇಣಿಯ ಪರಸ್ಪರ ಸಂಬಂಧಗಳು ಎಂದು ಕರೆಯಲ್ಪಡುವ ಉದಾಹರಣೆಗಳಾಗಿವೆಃ ಅವು ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನ ಮೌಲ್ಯ ಮತ್ತು ವೈಯಕ್ತಿಕ ಎಲ್ಎಫ್ಎಸ್ಆರ್ನ ನಡುವಿನ ಪರಸ್ಪರ ಸಂಬಂಧಗಳಾಗಿವೆ. ಇವುಗಳ ಜೊತೆಗೆ ಉನ್ನತ-ಶ್ರೇಣಿಯ ಪರಸ್ಪರ ಸಂಬಂಧಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಸಾಧ್ಯವಿದೆ. ಉದಾಹರಣೆಗೆ, ಒಂದು ನಿರ್ದಿಷ್ಟ ಬೂಲಿಯನ್ ಕಾರ್ಯವು ಅದು ಸಂಯೋಜಿಸುವ ಯಾವುದೇ ಪ್ರತ್ಯೇಕ ರೆಜಿಸ್ಟರ್ಗಳೊಂದಿಗೆ ಯಾವುದೇ ಬಲವಾದ ಪರಸ್ಪರ ಸಂಬಂಧವನ್ನು ಹೊಂದಿರದಿದ್ದರೂ, ಎರಡು ರೆಜಿಸ್ಟರ್ಗಳ ಕೆಲವು ಬೂಲಿಯನ್ ಕಾರ್ಯಗಳ ನಡುವೆ ಗಮನಾರ್ಹವಾದ ಪರಸ್ಪರ ಸಂಬಂಧವು ಅಸ್ತಿತ್ವದಲ್ಲಿರಬಹುದು, ಉದಾಹರಣೆಗೆ. ಇದು ಎರಡನೇ ಕ್ರಮದ ಪರಸ್ಪರ ಸಂಬಂಧಕ್ಕೆ ಒಂದು ಉದಾಹರಣೆಯಾಗಿದೆ. ಮೂರನೇ ಕ್ರಮಾಂಕದ ಪರಸ್ಪರ ಸಂಬಂಧಗಳು ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಈ ರೀತಿಯಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು. ಉನ್ನತ-ಕ್ರಮಾಂಕದ ಪರಸ್ಪರ ಸಂಬಂಧದ ದಾಳಿಗಳು ಏಕ-ಕ್ರಮಾಂಕದ ಪರಸ್ಪರ ಸಂಬಂಧದ ದಾಳಿಗಳಿಗಿಂತ ಹೆಚ್ಚು ಶಕ್ತಿಯುತವಾಗಿರಬಹುದು, ಆದಾಗ್ಯೂ, ಈ ಪರಿಣಾಮವು "ಲಾ ಆಫ್ ಲಿಮಿಟಿಂಗ್ ರಿಟರ್ನ್ಸ್" ಗೆ ಒಳಪಟ್ಟಿರುತ್ತದೆ. ಕೆಳಗಿನ ಕೋಷ್ಟಕವು ಒಂದೇ ಬೂಲಿಯನ್ ಕಾರ್ಯದಿಂದ ಸಂಯೋಜಿಸಲ್ಪಟ್ಟ ಎಂಟು 8-ಬಿಟ್ ಎಲ್ಎಫ್ಎಸ್ಆರ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಕೀಸ್ಟ್ರೀಮ್ ಜನರೇಟರ್ನ ಮೇಲೆ ವಿವಿಧ ದಾಳಿಗಳಿಗೆ ಕಂಪ್ಯೂಟೇಶನಲ್ ವೆಚ್ಚದ ಅಳತೆಯನ್ನು ತೋರಿಸುತ್ತದೆ. ವೆಚ್ಚದ ಲೆಕ್ಕಾಚಾರವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ತುಲನಾತ್ಮಕವಾಗಿ ನೇರವಾಗಿರುತ್ತದೆಃ ಮೊತ್ತದ ಎಡಭಾಗದ ಪದವು ಪರಸ್ಪರ ಸಂಬಂಧಿತ ಉತ್ಪಾದಕಗಳಿಗೆ ಪ್ರಮುಖ ಸ್ಥಳದ ಗಾತ್ರವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಮತ್ತು ಬಲಭಾಗದ ಪದವು ಉಳಿದ ಉತ್ಪಾದಕಗಳಿಗೆ ಪ್ರಮುಖ ಸ್ಥಳದ ಗಾತ್ರವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ. ಉನ್ನತ-ಶ್ರೇಣಿಯ ಪರಸ್ಪರ ಸಂಬಂಧಗಳು ಹೆಚ್ಚು ಶಕ್ತಿಶಾಲಿ ದಾಳಿಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತವೆಯಾದರೂ, ಅವುಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿದೆ, ಏಕೆಂದರೆ ಕಾರ್ಯಕ್ಕೆ ವಾದಗಳ ಸಂಖ್ಯೆಯು ಹೆಚ್ಚಾದಂತೆ ಜನರೇಟರ್ ಔಟ್ಪುಟ್ನೊಂದಿಗೆ ಪರಸ್ಪರ ಸಂಬಂಧ ಹೊಂದಲು ಲಭ್ಯವಿರುವ ಬೂಲಿಯನ್ ಕಾರ್ಯಗಳ ಸ್ಥಳವು ಹೆಚ್ಚಾಗುತ್ತದೆ. ಪರಿಭಾಷೆಯು ಅಸ್ಥಿರಗಳ ಬೂಲಿಯನ್ ಕಾರ್ಯವನ್ನು "-th ಆರ್ಡರ್ ಪರಸ್ಪರ ಸಂಬಂಧ ನಿರೋಧಕ" ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ, ಅಥವಾ ಕಾರ್ಯದ ಔಟ್ಪುಟ್ ಮತ್ತು ಅದರ ಇನ್ಪುಟ್ಗಳ ಯಾವುದೇ ಬೂಲಿಯನ್ ಕಾರ್ಯದ ನಡುವೆ ಯಾವುದೇ ಗಮನಾರ್ಹ ಪರಸ್ಪರ ಸಂಬಂಧವಿಲ್ಲದಿದ್ದರೆ, ಕೆಲವು ಪೂರ್ಣಾಂಕಗಳಿಗೆ "th ಆರ್ಡರ್ ಪರಸ್ಪರ ಸಂಬಂಧ ಪ್ರತಿರಕ್ಷೆಯನ್ನು" ಹೊಂದಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಯಾವುದೇ ಪ್ರಥಮ-ಕ್ರಮ ಅಥವಾ ದ್ವಿತೀಯ-ಕ್ರಮದ ಪರಸ್ಪರ ಸಂಬಂಧಗಳನ್ನು ಹೊಂದಿರದ, ಆದರೆ ತೃತೀಯ-ಕ್ರಮದ ಪರಸ್ಪರ ಸಂಬಂಧವನ್ನು ಹೊಂದಿರುವ ಬೂಲಿಯನ್ ಕಾರ್ಯವು ದ್ವಿತೀಯ-ಕ್ರಮದ ಪರಸ್ಪರ ಸಂಬಂಧದ ಪ್ರತಿರಕ್ಷೆಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ನಿಸ್ಸಂಶಯವಾಗಿ, ಹೆಚ್ಚಿನ ಪರಸ್ಪರ ಸಂಬಂಧದ ಪ್ರತಿರಕ್ಷೆಯು ಕೀಸ್ಟ್ರೀಮ್ ಜನರೇಟರ್ನಲ್ಲಿ ಬಳಸಲು ಒಂದು ಕಾರ್ಯವನ್ನು ಹೆಚ್ಚು ಸೂಕ್ತವಾಗಿಸುತ್ತದೆ (ಆದಾಗ್ಯೂ ಇದು ಪರಿಗಣಿಸಬೇಕಾದ ಏಕೈಕ ವಿಷಯವಲ್ಲ). ಸೀಗೆಂಥೇಲರ್ ಬೀಜಗಣಿತದ ಹಂತದ ಅಸ್ಥಿರಗಳ ಬೂಲಿಯನ್ ಕ್ರಿಯೆಯ ಪರಸ್ಪರ ಸಂಬಂಧದ ಪ್ರತಿರಕ್ಷೆಯು ತೃಪ್ತಿಪಡಿಸುತ್ತದೆ ಎಂದು ತೋರಿಸಿದರು; ನಿರ್ದಿಷ್ಟವಾದ ಇನ್ಪುಟ್ ಅಸ್ಥಿರಗಳ ಗುಂಪಿಗೆ, ಹೆಚ್ಚಿನ ಬೀಜಗಣಿತದ ಮಟ್ಟವು ಗರಿಷ್ಠ ಸಂಭವನೀಯ ಪರಸ್ಪರ ಸಂಬಂಧದ ಪ್ರತಿರಕ್ಷೆಯನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ ಎಂದರ್ಥ. ಇದಲ್ಲದೆ, ಕಾರ್ಯವು ಸಮತೋಲಿತವಾಗಿದ್ದರೆ. ಇದು ಚಲಪರಿಮಾಣಗಳ ಒಂದು ಕಾರ್ಯವು ಥ್ ಆರ್ಡರ್ ಕೋರಿಲೇಷನ್ ಇಮ್ಯೂನ್ ಆಗಿರುವುದು ಅಸಾಧ್ಯ ಎಂದು ಹೇಳುತ್ತದೆ. ಅಂತಹ ಯಾವುದೇ ಕಾರ್ಯವನ್ನು ರೀಡ್-ಮುಲ್ಲರ್ ಆಧಾರವನ್ನು ಬಳಸಿಕೊಂಡು ಇನ್ಪುಟ್ ಕಾರ್ಯಗಳ XORಗಳ ಸಂಯೋಜನೆಯಾಗಿ ಬರೆಯಬಹುದು ಎಂಬ ಅಂಶದಿಂದಲೂ ಇದು ಅನುಸರಿಸುತ್ತದೆ. ಸೈಫರ್ ವಿನ್ಯಾಸದ ಪರಿಣಾಮಗಳು ಸ್ಟ್ರೀಮ್ ಸೈಫರ್ನ ಭದ್ರತೆಯ ಮೇಲೆ ಪರಸ್ಪರ ಸಂಬಂಧದ ದಾಳಿಯ ಪರಿಣಾಮದ ಸಂಭಾವ್ಯ ತೀವ್ರತೆಯನ್ನು ಗಮನಿಸಿದರೆ, ಸ್ಟ್ರೀಮ್ ಸೈಫರ್ನಲ್ಲಿ ಬಳಸಲು ನಿರ್ಧರಿಸುವ ಮೊದಲು ಪರಸ್ಪರ ಸಂಬಂಧದ ಪ್ರತಿರಕ್ಷಣೆಗಾಗಿ ಅಭ್ಯರ್ಥಿಯ ಬೂಲಿಯನ್ ಸಂಯೋಜನೆಯ ಕಾರ್ಯವನ್ನು ಪರೀಕ್ಷಿಸುವುದು ಅತ್ಯಗತ್ಯವಾಗಿರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಹೆಚ್ಚಿನ ಪರಸ್ಪರ ಸಂಬಂಧದ ಪ್ರತಿರಕ್ಷೆಯು ಅಗತ್ಯವಾಗಿದೆ, ಆದರೆ ಕೀಸ್ಟ್ರೀಮ್ ಜನರೇಟರ್ನಲ್ಲಿ ಬಳಸಲು ಸೂಕ್ತವಾದ ಬೂಲಿಯನ್ ಕಾರ್ಯಕ್ಕೆ ಸಾಕಷ್ಟು ಸ್ಥಿತಿಯಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಪರಿಗಣಿಸಬೇಕಾದ ಇತರ ಸಮಸ್ಯೆಗಳಿವೆ, ಉದಾಹರಣೆಗೆ, ಕಾರ್ಯವು ಸಮತೋಲಿತವಾಗಿದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ-ಇದು ಸಾಧ್ಯವಿರುವ ಎಲ್ಲಾ ಇನ್ಪುಟ್ಗಳನ್ನು ಪರಿಗಣಿಸಿದಾಗ ಅದು 0 ಅನ್ನು ಮಾಡುವಷ್ಟು ಹೆಚ್ಚು ಅಥವಾ ಸ್ಥೂಲವಾಗಿ ಅನೇಕ 1 ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆಯೇ. ನಿರ್ದಿಷ್ಟ ಗಾತ್ರದ ಬೂಲಿಯನ್ ಕಾರ್ಯಗಳನ್ನು ಸುಲಭವಾಗಿ ಉತ್ಪಾದಿಸುವ ವಿಧಾನಗಳ ಬಗ್ಗೆ ಸಂಶೋಧನೆ ನಡೆಸಲಾಗಿದೆ, ಇದು ಕನಿಷ್ಠ ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಪರಸ್ಪರ ಸಂಬಂಧದ ಪ್ರತಿರಕ್ಷೆಯನ್ನು ಹೊಂದಿರುತ್ತದೆ ಎಂದು ಖಾತರಿಪಡಿಸುತ್ತದೆ. ಈ ಸಂಶೋಧನೆಯು ಪರಸ್ಪರ ಪ್ರತಿರಕ್ಷಣಾ ಬೂಲಿಯನ್ ಕಾರ್ಯಗಳು ಮತ್ತು ದೋಷ ಸರಿಪಡಿಸುವ ಸಂಕೇತಗಳ ನಡುವಿನ ಸಂಬಂಧವನ್ನು ಬಹಿರಂಗಪಡಿಸಿದೆ. ಗೂಢಲಿಪೀಕರಣದ ಉಲ್ಲೇಖಗಳಲ್ಲಿನ ವಿಷಯಗಳನ್ನು ಸಹ ನೋಡಿ ಬ್ರೂಸ್ ಷ್ನೇಯರ್. ಅನ್ವಯಿಕ ಕ್ರಿಪ್ಟೋಗ್ರಫಿಃ ಸಿ, ಎರಡನೇ ಆವೃತ್ತಿಯಲ್ಲಿ ಪ್ರೋಟೋಕಾಲ್ಗಳು, ಅಲ್ಗಾರಿದಮ್ಗಳು ಮತ್ತು ಸೋರ್ಸ್ ಕೋಡ್. ಜಾನ್ ವಿಲೇ & ಸನ್ಸ್, ಇಂಕ್. 1996. ವಿಭಾಗ 16.4ರ ಪುಟ 382: ಎಲ್. ಎಫ್. ಎಸ್. ಆರ್. ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ಟ್ರೀಮ್ ಸೈಫರ್ಗಳು. ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಬೂಲಿಯನ್ ಕಾರ್ಯಗಳ ಆನ್ಲೈನ್ ದತ್ತಸಂಚಯವು ಸಂದರ್ಶಕರಿಗೆ ಪರಸ್ಪರ ಪ್ರತಿರಕ್ಷಣೆಯನ್ನು ಒಳಗೊಂಡಂತೆ ಹಲವಾರು ರೀತಿಯಲ್ಲಿ ಬೂಲಿಯನ್ ಅಂಶಗಳ ದತ್ತಸಂಚಯವನ್ನು ಹುಡುಕಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ದಾಳಿಗಳು