[Powered by Google Translate] [RSA] [ರಾಬ್ ಬೌಡೆನ್] [ಟಾಮಿ MacWilliam] [ಹಾರ್ವರ್ಡ್ ವಿಶ್ವವಿದ್ಯಾಲಯ] [ಈ CS50 ಹೊಂದಿದೆ.] [CS50.TV] ನ RSA, ಡೇಟಾವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಅಲ್ಗಾರಿದಮ್ ಒಂದು ಗಮನಿಸೋಣ. ಸೀಸರ್ ಮತ್ತು Vigenère ಸೈಫರ್ಗಳು ನಂತಹ ಎನ್ಕ್ರಿಪ್ಷನ್ ಕ್ರಮಾವಳಿಗಳು ಬಹಳ ಸುರಕ್ಷಿತವಲ್ಲದ. ಸೀಸರ್ ಸೈಫರ್ ಜೊತೆಗೆ, ಆಕ್ರಮಣಕಾರರೊಂದಿಗೆ ಕೇವಲ 25 ವಿವಿಧ ಕೀಲಿಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿ ಅಗತ್ಯವಿದೆ ಸಂದೇಶದ ಸರಳ ಪಠ್ಯ ಪಡೆಯಲು. Vigenère ಸೈಫರ್ ಸೀಸರ್ ಸೈಫರ್ ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ಆದರೆ ಏಕೆಂದರೆ ಕೀಲಿಗಳು ದೊಡ್ಡ ಹುಡುಕಾಟ ಜಾಗವನ್ನು ಒಮ್ಮೆ ಆಕ್ರಮಣಕಾರರಿಂದ , ಒಂದು Vigenère ಸೈಫರ್ ಪ್ರಮುಖ ಉದ್ದ ತಿಳಿದಿರುವ ಇದು ಎನ್ಕ್ರಿಪ್ಟ್ ಪಠ್ಯ ಮಾದರಿಗಳನ್ನು ವಿಶ್ಲೇಷಣೆ ಮೂಲಕ ನಿರ್ಧರಿಸಬಹುದು Vigenère ಸೈಫರ್ ಎಂದು ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ಸೀಸರ್ ಸೈಫರ್ ಹೆಚ್ಚು ಅಲ್ಲ. RSA ಮತ್ತೊಂದೆಡೆ, ಈ ರೀತಿಯ ದಾಳಿಗೆ ತುತ್ತಾಗುವಂತೆ ಅಲ್ಲ. ಸೀಸರ್ ಸೈಫರ್ ಮತ್ತು Vigenère ಸೈಫರ್ ಒಂದೇ ಕೀಲಿ ಬಳಸಲು ಗೂಢಲಿಪೀಕರಣ ಹಾಗೂ ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶವನ್ನು ಎರಡೂ. ಈ ಆಸ್ತಿ ಈ ಸೈಫರ್ಗಳು ಸಮ್ಮಿತೀಯ ಕೀ ಕ್ರಮಾವಳಿಗಳು ಮಾಡುತ್ತದೆ. ಸಮ್ಮಿತೀಯ ಕೀಲಿ ಕ್ರಮಾವಳಿಗಳನ್ನು ಮೂಲಭೂತ ಸಮಸ್ಯೆ ಅವರು ಸಂದೇಶವನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕಳುಹಿಸುವ ಒಂದು ಅವಲಂಬಿಸಿರುವ ಆಗಿದೆ ಮತ್ತು ಒಂದು ಸ್ವೀಕರಿಸುವ ಮತ್ತು ಸಂದೇಶವನ್ನು ಅಸಂಕೇತಿಕರಣದಿಂದ ಈಗಾಗಲೇ ಅವರು ಎರಡೂ ಕೀಲಿಯನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ ಮೇಲೆ ಮೊದಲೇ ಒಪ್ಪಿಕೊಂಡ ಎಂದು. ಆದರೆ ಇಲ್ಲಿ ಒಂದು ಆರಂಭಿಕ ಸಮಸ್ಯೆಯನ್ನು ಒಂದು ಬಿಟ್ ಹೊಂದಿವೆ. ಹೇಗೆ ಸಂವಹನ ಬಯಸುವ 2 ಕಂಪ್ಯೂಟರ್ಗಳ ನಡುವೆ ರಹಸ್ಯ ಕೀಲಿಯನ್ನು ಸ್ಥಾಪಿಸುವುದು? ಪ್ರಮುಖ ರಹಸ್ಯ ಇರಬೇಕು, ಆಗ ನಾವು ಕೀಲಿಯನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಒಂದು ದಾರಿ ಬೇಕಿದೆ. ನಾವು ಎಲ್ಲಾ ಸಮ್ಮಿತೀಯ ಕೀಲಿ ಗೂಢಲಿಪೀಕರಣದ ವೇಳೆ ನಂತರ ನಾವು ಅದೇ ಸಮಸ್ಯೆಯನ್ನು ಹಿಂತಿರುಗಬೇಕಾಗಿದೆ ಮಾಡಿದ್ದೀರಿ. RSA ಮತ್ತೊಂದೆಡೆ, ಕೀಲಿಗಳ ಒಂದು ಜೋಡಿ ಬಳಸುತ್ತದೆ ಅಸಂಕೇತೀಕರಣಕ್ಕಾಗಿ ಗೂಢಲಿಪೀಕರಣ ಮತ್ತು ಇನ್ನೊಂದು ಒಂದು. ಒಂದು ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಕರೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು ಇತರೆ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಇದೆ. ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಸಂದೇಶಗಳನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ನೀವು ಅದರ ಹೆಸರನ್ನು ಊಹಿಸುವಂತೆ, ನಾವು ನಮ್ಮ ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಹಂಚಿಕೊಳ್ಳಬಹುದು ನಾವು ಒಂದು ಎನ್ಕ್ರಿಪ್ಟ್ ಸಂದೇಶದ ಭದ್ರತಾ ಲೋಪವಾಗದಂತೆ ಬಯಸುವ ಯಾರಾದರೂ. ಸಂದೇಶಗಳನ್ನು ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಎನ್ಕ್ರಿಪ್ಟ್ ಕೇವಲ ತನ್ನ ಸರಿಹೊಂದುವ ಖಾಸಗಿ ಕೀಲಿಯೊಂದಿಗೆ ಅಸಂಕೇತಿಕರಿಸಿದ ಮಾಡಬಹುದು. ನಿಮ್ಮ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು, ನೀವು ಯಾವಾಗಲೂ ನಿಮ್ಮ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ರಹಸ್ಯ ಇಟ್ಟುಕೊಳ್ಳುತ್ತಾರೆ. ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಒಂದು ಗೌಪ್ಯವಾಗಿಡಲಾಗಿತ್ತು ಮತ್ತು ಕೇವಲ ಖಾಸಗಿ ಕೀಲಿ ಬೇಕು ರಿಂದ 2 ಬಳಕೆದಾರರು ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಬಯಸಿದರೆ, ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶಗಳನ್ನು ಬಳಸಬಹುದು ಹಿಂದಕ್ಕೆ ಮತ್ತು ಮುಂದಕ್ಕೆ RSA ಎನ್ಕ್ರಿಪ್ಟ್ ಎರಡೂ ಬಳಕೆದಾರರು ತಮ್ಮದೇ ಆದ ಸಾರ್ವಜನಿಕ ಮತ್ತು ಖಾಸಗಿ ಕೀ ಜೊತೆಗೆ ಮಾಡಬೇಕು. ಬಳಕೆದಾರ 1 ಬಳಕೆದಾರರ 2 ಸಂದೇಶಗಳನ್ನು ಮಾತ್ರ, ಬಳಕೆದಾರರು 2 ಪ್ರಮುಖ ಜೋಡಿ ಬಳಸಿ ಮತ್ತು ಬಳಕೆದಾರ 2 ಬಳಕೆದಾರರ 1 ಸಂದೇಶಗಳನ್ನು ಮಾತ್ರ ಬಳಕೆದಾರ 1 ಪ್ರಮುಖ ಪೇರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. 2 ಪ್ರತ್ಯೇಕ ಗೂಢಲಿಪೀಕರಿಸಲು ಕೀಲಿಗಳನ್ನು ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶಗಳನ್ನು ಇವೆ ಎಂದು ವಾಸ್ತವವಾಗಿ RSA ಒಗ್ಗದ ಕೀಯನ್ನು ಮಾಡುತ್ತದೆ. ನಾವು ಮತ್ತೊಂದು ಕಂಪ್ಯೂಟರ್ಗೆ ಇದನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು ಅಗತ್ಯವಿಲ್ಲ ಕೀಲಿ ಹೇಗಾದರೂ ಸಾರ್ವಜನಿಕ ಕಾರಣ. ಈ RSA ಸಮ್ಮಿತಿಯ ಕೀಯನ್ನು ಅದೇ ಆರಂಭಿಕ ಸಮಸ್ಯೆ ಇರುವುದಿಲ್ಲ. ಸಂವಹನ ಬಯಸುವ 2 ಕಂಪ್ಯೂಟರ್ಗಳು ಹೇಗೆ ಅವುಗಳ ನಡುವೆ ರಹಸ್ಯ ಕೀಲಿಯನ್ನು ಸ್ಥಾಪಿಸಲು? ಪ್ರಮುಖ ರಹಸ್ಯ ಇರಬೇಕು, ಆಗ ನಾವು ಕೀಲಿಯನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಒಂದು ದಾರಿ ಬೇಕಿದೆ. ನಾವು ಎಲ್ಲಾ ಸಮ್ಮಿತೀಯ ಕೀಲಿ ಗೂಢಲಿಪೀಕರಣದ ವೇಳೆ ನಂತರ ನಾವು ಮಾಡಿದ ಅದೇ ಸಮಸ್ಯೆ ಹಿಂತಿರುಗಿ. RSA ಮತ್ತೊಂದೆಡೆ, ಕೀಲಿಗಳ ಒಂದು ಜೋಡಿ ಬಳಸುತ್ತದೆ ಅಸಂಕೇತೀಕರಣಕ್ಕಾಗಿ ಗೂಢಲಿಪೀಕರಣ ಮತ್ತು ಇನ್ನೊಂದು ಒಂದು. ಒಂದು ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಕರೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು ಇತರೆ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಇದೆ. ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಸಂದೇಶಗಳನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ನೀವು ಅದರ ಹೆಸರನ್ನು ಊಹಿಸುವಂತೆ, ನಾವು ಬಯಸುವ ಯಾರಾದರೂ ನಮ್ಮ ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಹಂಚಿಕೊಳ್ಳಬಹುದು ಒಂದು ಎನ್ಕ್ರಿಪ್ಟ್ ಸಂದೇಶದ ಭದ್ರತಾ ಲೋಪವಾಗದಂತೆ. ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಎನ್ಕ್ರಿಪ್ಟ್ ಸಂದೇಶಗಳನ್ನು ಮಾತ್ರ ಅಸಂಕೇತಿಕರಿಸಿದ ಮಾಡಬಹುದು ಇದರ ಸಂವಾದಿ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಬಳಸಿ. ನಿಮ್ಮ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು, ನೀವು ಯಾವಾಗಲೂ ನಿಮ್ಮ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ರಹಸ್ಯ ಇಟ್ಟುಕೊಳ್ಳುತ್ತಾರೆ. ಖಾಸಗಿ ಕೀಲಿ ರಹಸ್ಯ ಇಟ್ಟುಕೊಂಡಿರಬೇಕು ರಿಂದ ಮತ್ತು ಕೇವಲ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶಗಳನ್ನು ಬಳಸಬಹುದು 2 ಬಳಕೆದಾರರು RSA ಸಂದೇಶಗಳನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಕಳುಹಿಸಲು ಬಯಸಿದರೆ ಹಿಂದಕ್ಕೆ ಮತ್ತು ಮುಂದಕ್ಕೆ ಎರಡೂ ಬಳಕೆದಾರರು ತಮ್ಮದೇ ಆದ ಸಾರ್ವಜನಿಕ ಮತ್ತು ಖಾಸಗಿ ಕೀ ಜೊತೆಗೆ ಮಾಡಬೇಕು. ಬಳಕೆದಾರ 1 ಬಳಕೆದಾರರ 2 ಸಂದೇಶಗಳನ್ನು ಕೇವಲ ಬಳಕೆದಾರ 2 ಬಳಕೆದಾರರ 1 ಬಳಕೆದಾರ 2 ಪ್ರಮುಖ ಜೋಡಿ, ಮತ್ತು ಸಂದೇಶಗಳನ್ನು ಬಳಸಲು ಕೇವಲ ಬಳಕೆದಾರ 1 ಪ್ರಮುಖ ಪೇರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. 2 ಪ್ರತ್ಯೇಕ ಗೂಢಲಿಪೀಕರಿಸಲು ಕೀಲಿಗಳನ್ನು ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶಗಳನ್ನು ಇವೆ ಎಂದು ವಾಸ್ತವವಾಗಿ RSA ಒಗ್ಗದ ಕೀಯನ್ನು ಮಾಡುತ್ತದೆ. ನಾವು ಮತ್ತೊಂದು ಕಂಪ್ಯೂಟರ್ಗೆ ಇದನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು ಅಗತ್ಯವಿಲ್ಲ ಕೀಲಿ ಹೇಗಾದರೂ ಸಾರ್ವಜನಿಕ ಕಾರಣ. ಈ RSA ಅದೇ ಆರಂಭಿಕ ಸಮಸ್ಯೆ ಇರುವುದಿಲ್ಲ ಸಮ್ಮಿತೀಯ ಕೀಲಿ ಕ್ರಮಾವಳಿಗಳು. ನಾನು RSA ಎನ್ಕ್ರಿಪ್ಶನ್ ಬಳಸಿ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲು ಬಯಸುವ ಹಾಗಿದ್ದಲ್ಲಿ ರಾಬ್ ನಾನು ಮೊದಲ ರಾಬ್ ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಅಗತ್ಯವಿದೆ. ಕೀಲಿಗಳ ಒಂದು ಜೋಡಿ ಸೃಷ್ಟಿಸಲು, ರಾಬ್ 2 ದೊಡ್ಡ ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಗಳನ್ನು ಆಯ್ಕೆ ಅಗತ್ಯವಿದೆ. ಈ ಸಂಖ್ಯೆಗಳು, ಸಾರ್ವಜನಿಕ ಮತ್ತು ಖಾಸಗಿ ಎರಡೂ ಕೀಲಿಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಆದರೆ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಮಾತ್ರ, ಈ 2 ಸಂಖ್ಯೆಗಳ ಉತ್ಪನ್ನ ಬಳಸುತ್ತದೆ ಅಲ್ಲ ಸಂಖ್ಯೆಗಳನ್ನು ತಮ್ಮನ್ನು. ಒಮ್ಮೆ ನಾನು ರಾಬ್ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಸಂದೇಶವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ನಾನು ರಾಬ್ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಬಹುದು. ಒಂದು ಕಂಪ್ಯೂಟರ್, ಅಪವರ್ತನ ಸಂಖ್ಯೆಗಳು ಒಂದು ಹಾರ್ಡ್ ಸಮಸ್ಯೆಯಾಗಿದೆ. ಸಾರ್ವಜನಿಕ ಕೀಲಿ, ನೆನಪು, 2 ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಗಳ ಉತ್ಪನ್ನ ಬಳಸಲಾಗುತ್ತದೆ. ಈ ಉತ್ಪನ್ನವು ನಂತರ, ಕೇವಲ 2 ಅಂಶಗಳನ್ನು ಹೊಂದಿರಬೇಕು ಖಾಸಗಿ ಕೀಲಿ ರೂಪಿಸುವ ಸಂಖ್ಯೆಗಳು ಎಂದು ಜರುಗುತ್ತದೆ. ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶವನ್ನು ಸಲುವಾಗಿ, RSA ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಬಳಸುತ್ತದೆ ಅಥವಾ ಸಂಖ್ಯೆಗಳನ್ನು ಸಾರ್ವಜನಿಕ ಕೀ ರಚಿಸುವ ಪ್ರಕ್ರಿಯೆ ಒಟ್ಟಿಗೆ ಗುಣಿಸಿದಾಗ. ಇದು ಸಂಖ್ಯೆಯ ಅಂಶ ಕಂಪ್ಯೂಟರ್ ಹಾರ್ಡ್ ಏಕೆಂದರೆ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ 2 ಸಂಖ್ಯೆಗಳು ಒಂದು ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಬಳಸಲಾಗುತ್ತದೆ ಆಕ್ರಮಣಕಾರರೊಂದಿಗೆ ಖಾಸಗಿ ಕೀಲಿ ಔಟ್ ಲೆಕ್ಕಾಚಾರ ಅದು ಕಷ್ಟ ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶ ಅಗತ್ಯ ಎಂದು. ಈಗ RSA ಕೆಲವು ಕಡಿಮೆ ಹಂತದ ವಿವರಗಳನ್ನು ಹೋಗಲು ಅವಕಾಶ. ಲೆಟ್ಸ್ ಮೊದಲ ನಾವು ಕೀಲಿಗಳ ಒಂದು ಜೋಡಿ ಉತ್ಪಾದಿಸಲು ಹೇಗೆ ನೋಡಿ. ಮೊದಲ, ನಾವು 2 ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಗಳ ಅಗತ್ಯವಿದೆ. ಈ 2 ಸಂಖ್ಯೆಗಳು p ಮತ್ತು q ಕರೆ ಮಾಡುತ್ತೇವೆ. ಆಚರಣೆಯಲ್ಲಿ p ಮತ್ತು q, ಆಯ್ಕೆ ಮಾಡಲು ನಾವು pseudorandomly ಉತ್ಪಾದಿಸುವಂತಹ ನಂತರ ದೊಡ್ಡ ಸಂಖ್ಯೆಗಳು ಮತ್ತು ನಿರ್ಧರಿಸಲು ಒಂದು ಪರೀಕ್ಷೆಯನ್ನು ಉಪಯೋಗಿಸಲು ಅಥವಾ ಇಲ್ಲವೇ ಆ ಸಂಖ್ಯೆಗಳು ಬಹುಶಃ ಅವಿಭಾಜ್ಯ. ನಾವು ಮತ್ತೆ ಮತ್ತು ಹೆಚ್ಚು ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಇರಿಸಬಹುದು ನಾವು ಬಳಸಬಹುದಾದ 2 ಅವಿಭಾಜ್ಯಗಳ ತನಕ. ಇಲ್ಲಿ ನ ಪುಟ = 23 ಮತ್ತು q = 43 ಆಯ್ಕೆ ಅವಕಾಶ. ಆಚರಣೆಯಲ್ಲಿ, ರಿಮೆಂಬರ್, p ಮತ್ತು q ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯಲ್ಲಿ ಇರಬೇಕು. ದೂರದ ನಾವು ತಿಳಿದಿರುವಂತೆ, ಸಂಖ್ಯೆಗಳು ದೊಡ್ಡ, ಗಟ್ಟಿಯಾದ ಇದು ಒಂದು ಎನ್ಕ್ರಿಪ್ಟ್ ಸಂದೇಶವನ್ನು ಭೇದಿಸಲು. ಆದರೆ ಇದು ಎನ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶಗಳನ್ನು ದುಬಾರಿ ಇಲ್ಲಿದೆ. ಇಂದು ಇದನ್ನು p ಮತ್ತು q ಕನಿಷ್ಠ 1024 ಬಿಟ್ಗಳು ಎಂದು ಶಿಫಾರಸು ಮಾಡಿದ, ಇದು 300 ಕ್ಕೂ ದಶಮಾಂಶ ಅಂಕೆಗಳು ಪ್ರತಿ ಸಂಖ್ಯೆಯೂ ಇದರಲ್ಲಿದೆ. ಆದರೆ ನಾವು ಈ ಉದಾಹರಣೆಗೆ ಈ ಸಣ್ಣ ಸಂಖ್ಯೆಯಲ್ಲಿ ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ. ಈಗ ನಾವು, ಒಂದು 3 ನೇ ಸಂಖ್ಯೆಯ ಪಡೆಯಲು ಒಟ್ಟಿಗೆ p ಮತ್ತು q ಗುಣಿಸಬೇಕು ನಾವು N ಕರೆ ಮಾಡುತ್ತೇವೆ ಇದು. ನಮ್ಮ ವಿಷಯದಲ್ಲಿ, N = 23 989 = ಇದು * 43. ನಾವು = 989 n ಮಾಡಿದ್ದಾರೆ. ಪ್ರಶ್ನೆ 1 - - ಮುಂದೆ ನಾವು ಪುಟ ಗುಣಿಸಬೇಕು 1 ನಾವು ಮೀ ಕರೆ ಮಾಡುತ್ತೇವೆ ಇದು 4 ನೇ ನಂಬರ್. ಪಡೆಯಲು ನಮ್ಮ ವಿಷಯದಲ್ಲಿ, ಮೀ = 22 924 = ಇದು * 42. ನಾವು ಮೀ = 924 ಹೊಂದಿರುತ್ತವೆ. ಈಗ ನಾವು ತುಲನಾತ್ಮಕವಾಗಿ ಅವಿಭಾಜ್ಯ ಎಂದು ಹಲವಾರು ಇ ಅಗತ್ಯವಿದೆ ಮೀ ಮತ್ತು ಮೀ ಕಡಿಮೆ. ಎರಡು ಸಂಖ್ಯೆಗಳನ್ನು ತುಲನಾತ್ಮಕವಾಗಿ ಅವಿಭಾಜ್ಯ ಅಥವಾ ಸಹಅವಿಭಾಜ್ಯವಾಗಿರುತ್ತದೆ ಗಳು ಎರಡೂ ಸಮವಾಗಿ ಅವುಗಳನ್ನು ವಿಭಜಿಸುವ ಒಂದೇ ಪೂರ್ಣಸಂಖ್ಯೆ 1 ವೇಳೆ. ಇ ಮತ್ತು ಮೀ ಇತರ ಪದಗಳಲ್ಲಿ, ದೊಡ್ಡ ಸಾಮಾನ್ಯ ಭಾಜಕವಾಗುತ್ತದೆ 1 ಆಗಿರಬೇಕು. ರೂಢಿಯಲ್ಲಿ, ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆ 65537 ಎಂದು ಇ ಸಾಮಾನ್ಯವಾಗಿದೆ ಎಲ್ಲಿಯವರೆಗೆ ಈ ಸಂಖ್ಯೆ ಮೀ ಅಂಶವೆಂದು ನಡೆಯುತ್ತಿಲ್ಲ. ನಮ್ಮ ಕೀಲಿಗಳು, ನಾವು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ ಇ = 5 5 ರಿಂದ 924 ಗೆ ತುಲನಾತ್ಮಕವಾಗಿ ಅವಿಭಾಜ್ಯ. ಅಂತಿಮವಾಗಿ, ನಾವು D ಕರೆ ಮಾಡುತ್ತೇವೆ ಒಂದು ಹೆಚ್ಚು ಸಂಖ್ಯೆ, ಅಗತ್ಯವಿದೆ. ಡಿ ಸಮೀಕರಣದ ತೃಪ್ತಿ ಕೆಲವು ಮೌಲ್ಯ ಇರಬೇಕು ಡಿ = 1 (mod ಮೀ). ಈ ಮೋಡ್ ಮೀ ನಾವು ಮಾಡ್ಯುಲರ್ ಅಂಕಗಣಿತ ಕರೆಯುವುದನ್ನು ಬಳಸಿ ಸಂಕೇತವಾಗಿದೆ. ಮಾಡ್ಯುಲರ್ ಅಂಕಗಣಿತ ರಲ್ಲಿ, ಒಮ್ಮೆ ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ಕೆಲವು ಮೇಲಿನ ನಿರ್ಬಂಧಿತ ಹೆಚ್ಚಿನ ಗೆಟ್ಸ್ ಇದು 0 ಗೆ ಸುತ್ತ ಮತ್ತೆ ಕಟ್ಟಲು ಕಾಣಿಸುತ್ತದೆ. ಒಂದು ಗಡಿಯಾರ, ಉದಾಹರಣೆಗೆ, ಮಾಡ್ಯುಲರ್ ಅಂಕಗಣಿತ ಬಳಸುತ್ತದೆ. 1:59 ನಂತರ ಒಂದು ನಿಮಿಷ, ಉದಾಹರಣೆಗೆ, ಅಪರಾಹ್ನ 2:00 ಆಗಿದೆ 1:60 ಅಲ್ಲ. ನಿಮಿಷದ ಮುಳ್ಳು 0 ಸುತ್ತ ಸುತ್ತಿಕೊಂಡರೆ 60 ಪರಿಮಿತಿ ಒಂದು ಮೇಲ್ ತಲುಪಿದ ಮೇಲೆ. ಆದ್ದರಿಂದ, ನಾವು 60 0 (mod 60) ಸಮನಾಗಿರುತ್ತದೆ ಹೇಳಬಹುದು ಮತ್ತು 125 65 ಸಮನಾಗಿರುತ್ತದೆ 5 (mod 60) ಗೆ ಸಮನಾಗಿದೆ. ನಮ್ಮ ಸಾರ್ವಜನಿಕ ಕೀ ಜೊತೆಗೆ ಇ ಮತ್ತು ಎನ್ ಆಗಿರುತ್ತದೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಇ 5 ಮತ್ತು N 989 ಅಲ್ಲಿ. ನಮ್ಮ ಖಾಸಗಿ ಕೀಲಿ, ಜೋಡಿ D ಮತ್ತು N ಆಗಿರುತ್ತದೆ ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ ಇದು 185 ಮತ್ತು 989 ಆಗಿದೆ. ನಮ್ಮ ಮೂಲ ಅವಿಭಾಜ್ಯಗಳ p ಮತ್ತು q ಕಾಣುವುದಿಲ್ಲ ಗಮನಿಸಿ ನಗರದಲ್ಲಿ ನಮ್ಮ ಖಾಸಗಿ ಅಥವಾ ಸಾರ್ವಜನಿಕ ಕೀಲಿಗಳನ್ನು ರಲ್ಲಿ. ಈಗ ನಾವು ಕೀಲಿಗಳ ನಮ್ಮ ಜೋಡಿ ಎಂದು, ನಾವು ಎನ್ಕ್ರಿಪ್ಟ್ ಹೇಗೆ ಅವಲೋಕಿಸೋಣ ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಸಂದೇಶ. ನಾನು, ರಾಬ್ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲು ಬಯಸುವ ಆದ್ದರಿಂದ ಅವರು ಈ ಕೀ ಜೊತೆಗೆ ರಚಿಸಲು ಒಂದು ಕಾಣಿಸುತ್ತದೆ. ನಂತರ ನಾನು ಬಳಸಿ ತನ್ನ ಸಾರ್ವಜನಿಕ ಕೀಲಿ, ಫಾರ್ ರಾಬ್ ಕೇಳುತ್ತೇವೆ ಅವರನ್ನು ಕಳುಹಿಸಲು ಒಂದು ಸಂದೇಶವನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು. ರಾಬ್ ನನ್ನೊಂದಿಗೆ ತನ್ನ ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಹಂಚಿಕೊಳ್ಳಲು ಫಾರ್ ನೆನಪಿಡಿ, ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಸರಿಯಾಗಿಯೆ. ಆದರೆ ಇದು ತನ್ನ ಖಾಸಗಿ ಕೀಲಿ ಹಂಚಿಕೊಳ್ಳಲು ಸರಿ ನೆರವೇರಿಸಲಾಯಿತು. ನಾನು ಅವರ ಖಾಸಗಿ ಕೀಲಿ ಏನು ಯಾವುದೇ ಆಲೋಚನೆಯನ್ನು ಹೊಂದಿಲ್ಲ. ನಾವು ಹಲವಾರು ತುಂಡುಗಳಾಗಿ ನಮ್ಮ ಸಂದೇಶವನ್ನು ಮೀ ಅಪ್ ಮುರಿಯುತ್ತವೆ ಎಲ್ಲಾ ನಂತರ n ಗಿಂತ ಚಿಕ್ಕದಾದ ಮತ್ತು ಆ ಭಾಗಗಳಲ್ಲಿ ಪ್ರತಿ ಗೂಢಲಿಪೀಕರಿಸಲು. ನಾವು 4 ಭಾಗಗಳಲ್ಲಿ ವಿಭಾಗಿಸಲ್ಪಟ್ಟಿದೆ ಮುರಿಯುತ್ತವೆ ಸ್ಟ್ರಿಂಗ್ CS50, ಎನ್ಕ್ರಿಪ್ಟ್ ವಿಲ್ ಪತ್ರದ ಪ್ರತಿ ಒಂದು. ನನ್ನ ಸಂದೇಶ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲು, ನಾನು ಪರಿವರ್ತಿಸುವ ಅಗತ್ಯವಿದೆ ಸಂಖ್ಯಾ ಪ್ರಾತಿನಿಧ್ಯ ರೀತಿಯ. ಅವರ ನನ್ನ ಸಂದೇಶದಲ್ಲಿ ಪಾತ್ರಗಳನ್ನು ASCII ಮೌಲ್ಯಗಳನ್ನು concatenate ಲೆಟ್. ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಂದೇಶವನ್ನು ಮೀ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ನಾನು ಇ (Mod n) ಸಿ = ಮೀ ಲೆಕ್ಕಾಚಾರ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಆದರೆ ಮೀ, n ಗಿಂತ ಚಿಕ್ಕದಾದ ಇರಬೇಕು ಅಥವಾ ಯಾವುದೇ ಪೂರ್ಣ ಸಂದೇಶವನ್ನು ಪ್ರಮಾಣ N ವ್ಯಕ್ತಪಡಿಸಿದರು ಸಾಧ್ಯವಿಲ್ಲ. ನಾವು N ಸಣ್ಣದಾಗಿರುತ್ತವೆ ಎಲ್ಲಾ ಹಲವಾರು ಭಾಗಗಳಲ್ಲಿ, ಒಳಗೆ ಮೀ ಅಪ್ ಮುರಿಯುತ್ತವೆ ಮತ್ತು ಆ ಭಾಗಗಳಲ್ಲಿ ಪ್ರತಿ ಗೂಢಲಿಪೀಕರಿಸಲು. ಈ ಭಾಗಗಳಲ್ಲಿ ಪ್ರತಿ ಗೂಢಲಿಪೀಕರಿಸಲಾಗುತ್ತದೆ, ನಮಗೆ C1 5 = 67 (Mod 989) ಇದು = 658. ನಮ್ಮ ಎರಡನೇ ಚಂಕ್ ನಾವು 5 (Mod 989) ಗೆ 83 ಹೊಂದಿವೆ ಇದು = 15. ನಮ್ಮ ಮೂರನೇ ಪಾಲನ್ನು ನಾವು 5 (Mod 989) ಗೆ 53 ಹೊಂದಿವೆ ಇದು = 799. ಮತ್ತು ಅಂತಿಮವಾಗಿ, ನಮ್ಮ ಕೊನೆಯ ಚಂಕ್ ನಾವು 5 (Mod 989) ಗೆ 48 ಹೊಂದಿವೆ ಇದು 975 =. ಈಗ ನಾವು ರಾಬ್ ಈ ಎನ್ಕ್ರಿಪ್ಟ್ ಮೌಲ್ಯಗಳ ಮೇಲೆ ಕಳುಹಿಸಬಹುದು. ಇಲ್ಲಿ ನೀವು, ರಾಬ್ ಹೋಗಿ. ನಮ್ಮ ಸಂದೇಶವನ್ನು ಹಾರಾಟ ನಡೆಸುತ್ತಿರುವಾಗ, ನ ಮತ್ತೊಂದು ಅವಲೋಕಿಸೋಣ ಹೇಗೆ ನಾವು D ಆ ಮೌಲ್ಯವನ್ನು ದೊರೆತಿದೆ. ನಮ್ಮ ಸಂಖ್ಯೆ D 5D = 1 (mod 924) ಪೂರೈಸಲು ಅಗತ್ಯವಿದೆ. ಈ D 5 ಪ್ರಮಾಣ 924 ಗುಣಾತ್ಮಕ ಪ್ರತಿಲೋಮವನ್ನು ಮಾಡುತ್ತದೆ. 2 ಪೂರ್ಣಾಂಕಗಳು a ಮತ್ತು b, ವಿಸ್ತರಿತ ಯೂಕ್ಲಿಡಿಯನ್ ಅಲ್ಗಾರಿದಮ್ ನೀಡಲಾಗಿದೆ ಈ 2 ಪೂರ್ಣಾಂಕಗಳ ದೊಡ್ಡ ಸಾಮಾನ್ಯ ಭಾಜಕವಾಗುತ್ತದೆ ಹೇಗೆ ಬಳಸಬಹುದು. ಇದು ನಮಗೆ 2 ಇತರ ಸಂಖ್ಯೆಗಳು, X ಮತ್ತು Y, ನೀಡುತ್ತದೆ ಒಂದು ಮತ್ತು ಬಿ = ದೊಡ್ಡ ಸಾಮಾನ್ಯ ಭಾಜಕವಾಗುತ್ತದೆ ಮೂಲಕ ಸಮೀಕರಣವನ್ನು ಕೊಡಲಿ + ಪದಗಳನ್ನು. ಹೇಗೆ ಈ ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ? ಅಲ್ಲದೆ, ಒಂದು ಇ ರಲ್ಲಿ = 5 ಪ್ಲಗಿಂಗ್ ಮತ್ತು ಬಿ ಫಾರ್ ಮೀ = 924 ನಾವು ಈಗಾಗಲೇ ಈ ಸಂಖ್ಯೆಗಳನ್ನು ಸಹಅವಿಭಾಜ್ಯವಾಗಿರುತ್ತದೆ ನಮಗೆ ತಿಳಿದಿದೆ. ಅವುಗಳ ದೊಡ್ಡ ಸಾಮಾನ್ಯ ಭಾಜಕವಾಗುತ್ತದೆ 1. ಈ + 924y = 1 ನಮಗೆ 5x ನೀಡುತ್ತದೆ ಅಥವಾ 5x = 1 - 924y. ಆದರೆ ನಾವು ಮಾತ್ರ ಎಲ್ಲವನ್ನೂ ಪ್ರಮಾಣ 924 ಕಾಳಜಿ ವೇಳೆ 924y - ನಾವು ಡ್ರಾಪ್ ಮಾಡಬಹುದು. ಗಡಿಯಾರ ಮತ್ತೆ ಥಿಂಕ್. ನಿಮಿಷದ ಮುಳ್ಳು 1 ರಂದು ಮತ್ತು ನಂತರ ಸರಿಯಾಗಿ 10 ಗಂಟೆಗಳ, ಹಾದು ವೇಳೆ ನಾವು ನಿಮಿಷದ ಮುಳ್ಳು ಇನ್ನೂ 1 ರಂದು ಎಂದು ತಿಳಿದಿದೆ. ಇಲ್ಲಿ ನಾವು, 1 ಆರಂಭವಾಗುವುದು ತದನಂತರ ನಿಖರವಾಗಿ ವೈ ಬಾರಿ ಸುತ್ತಲೂ ವ್ರ್ಯಾಪ್ ಆದ್ದರಿಂದ ನಾವು ಇನ್ನೂ 1 ಇರುವಿರಿ. ನಾವು = 1 (mod 924) 5x ಹೊಂದಿರುತ್ತವೆ. ಮತ್ತು ಇಲ್ಲಿ ಈ X, ನಾವು ಮೊದಲು ಹುಡುಕುತ್ತಿರುವ D ಒಂದೇ ನಾವು ವಿಸ್ತೃತ ಯೂಕ್ಲಿಡಿಯನ್ ಅಲ್ಗಾರಿದಮ್ ಬಳಸಿ ಹಾಗಿದ್ದಲ್ಲಿ ಈ ಸಂಖ್ಯೆ ಎಕ್ಸ್ ಪಡೆಯಲು, ನಾವು ನಮ್ಮ D ಎಂದು ಬಳಸಬೇಕು ಸಂಖ್ಯೆಯ. ಈಗ ಒಂದು = 5 ವಿಸ್ತಾರಿತ ಯೂಕ್ಲಿಡಿಯನ್ ಅಲ್ಗಾರಿದಮ್ ರನ್ ಅವಕಾಶ ಮತ್ತು ಬಿ = 924. ನಾವು ಮೇಜಿನ ವಿಧಾನ ಎಂಬ ವಿಧಾನವನ್ನು ಬಳಸಿ. ನಮ್ಮ ಟೇಬಲ್ 4 ಕಾಲಮ್ಗಳು, X, Y, D, ಮತ್ತು K ಹೊಂದಿರುತ್ತದೆ. ನಮ್ಮ ಟೇಬಲ್ 2 ಸಾಲುಗಳನ್ನು ಜೊತೆಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ಮೊದಲ ಸಾಲಿನಲ್ಲಿ ನಾವು ನಂತರ 1, 0, 5 ಇದು ನಮ್ಮ ಮೌಲ್ಯ, ಹೊಂದಿವೆ ಮತ್ತು ನಮ್ಮ ಎರಡನೇ ಸಾಲು 0, 1, ಮತ್ತು ಬಿ ನಮ್ಮ ಮೌಲ್ಯ, ಇದು 924 ಆಗಿದೆ. 4 ಕಾಲಮ್, K, ಮೌಲ್ಯದ ಫಲಿತಾಂಶ D ಮೌಲ್ಯವು ಅದನ್ನು ಮೇಲೆ ಸತತವಾಗಿ D ಮೌಲ್ಯವನ್ನು ವಿಭಾಗಿಸುವ ಅದೇ ಸಾಲಿನಲ್ಲಿ. ನಾವು 924 ಭಾಗಿಸಿ 5 ಕೆಲವು ಉಳಿದ 0 ಹೊಂದಿರುತ್ತವೆ. ನಾವು = 0 ಕ್ ಹೊಂದಿವೆ ಎಂದರ್ಥ. ಈಗ ಪ್ರತಿಯೊಂದು ಕೋಶದ ಮೌಲ್ಯವನ್ನು ಮೇಲಿನ ಜೀವಕೋಶದ 2 ಸಾಲುಗಳನ್ನು ಮೌಲ್ಯವು ಕಾಣಿಸುತ್ತದೆ ಇದು ಬಾರಿ K ಮೇಲಿನ ಸಾಲಿನ ಮೈನಸ್ ಮೌಲ್ಯ. 3 ನೇ ಸಾಲಿನಲ್ಲಿ ಡಿ ಆರಂಭಿಸೋಣ. ನಾವು 5 ಹೊಂದಿವೆ - 924 * 0 = 5. 0 ಇದು 1 * 0 - ನಾವು 0 ಹೊಂದಿರುತ್ತವೆ ಮುಂದಿನ ಮತ್ತು 1 - 0 * 0 ಇದು 1. ತುಂಬಾ ಕೆಟ್ಟ ಅಲ್ಲ, ಆದ್ದರಿಂದ ಮುಂದಿನ ಸಾಲಿನಲ್ಲಿ ಮೇಲೆ ಚಲಿಸೋಣ. ಮೊದಲ ನಾವು K ನಮ್ಮ ಮೌಲ್ಯದ ಅಗತ್ಯವಿದೆ. 924, ಕೆಲವು ಉಳಿದ 5 = 184 ಭಾಗಿಸಿ ಆದ್ದರಿಂದ K ನಮ್ಮ ಮೌಲ್ಯ 184 ಆಗಿದೆ. ಈಗ 924 - 5 * 184 = 4. 1 - 0 * 184 1 ಮತ್ತು 0 - 1 * 184 -184 ಆಗಿದೆ. ಸರಿ, ಮುಂದಿನ ಸಾಲು ಏನು ನೋಡೋಣ. K ನಮ್ಮ ಮೌಲ್ಯ 1 ಕಾರಣ ಎಂದು 5 ಕೆಲವು ಉಳಿದ 4 = 1 ಭಾಗಿಸಿ. ಇತರೆ ಅಂಕಣಗಳಲ್ಲಿ ತುಂಬಲು ಅವಕಾಶ. 5 - 4 * 1 = 1. 0 - 1 * 1 = -1. ಮತ್ತು 1 - 184 * 1 185 ಆಗಿದೆ. K ನಮ್ಮ ಮುಂದಿನ ಮೌಲ್ಯ ಎಂಬುದನ್ನು ನೋಡೋಣ. ನಾವು 4 ಇದು 1 ರಿಂದ 4 ವಿಭಜಿಸಿದ್ದಾರೆ ಹಾಗೆ ಅಲ್ಲದೆ ಇದು ಕಾಣುತ್ತದೆ. ನಾವು 1 ರಿಂದ ಭಾಗಿಸುವ ನೀವು ಅಲ್ಲಿ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಆ K ಗೆ ಸಮಾನವಾಗಿದೆ ಮೇಲಿನ ಸಾಲಿನಲ್ಲಿ D ಮೌಲ್ಯವನ್ನು ನಮ್ಮ ಅಲ್ಗಾರಿದಮ್ ಪೂರೈಸಿದ ಎಂದರ್ಥ. ನಾವು ಕಳೆದ ಸಾಲಿನಲ್ಲಿ X = 185 ಮತ್ತು y = -1 ಹೊಂದಿರುವ ಇಲ್ಲಿ ನೋಡಬಹುದು. ಈಗ ನಮ್ಮ ಮೂಲ ಗುರಿ ಮರಳಿ ಬರಲಿ. ನಾವು ಪರಿಣಾಮವಾಗಿ x ಮೌಲ್ಯವು ಈ ಅಲ್ಗಾರಿದಮ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಹೇಳಿದರು ಒಂದು (Mod ಬೌ) ಗುಣಾತ್ಮಕ ಪ್ರತಿಲೋಮವನ್ನು ಎಂದು. ಆ 185 5 ಗುಣಾತ್ಮಕ ಪ್ರತಿಲೋಮವನ್ನು (Mod 924) ಎಂದರ್ಥ ಇದು ನಾವು D ಗಾಗಿ 185 ಮೌಲ್ಯವನ್ನು ಹೊಂದಿವೆ. ವಾಸ್ತವವಾಗಿ ಆ D = 1 ಕೊನೆಯಾಗಿ ಸಾಲಾಗಿ ಇ ಮೀ ಸಹಅವಿಭಾಜ್ಯವಾಗಿರುತ್ತದೆ ಮಾಡಲಾಯಿತು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಇದು 1 ಇಲ್ಲದಿದ್ದರೆ ನಾವು ಹೊಸ ಇ ಆಯ್ಕೆ ಇರಬೇಕು. ಈಗ ರಾಬ್ ನನ್ನ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸಿದೆ ಎಂದು ನೋಡೋಣ. ಯಾರಾದರೂ ನನಗೆ ಎನ್ಕ್ರಿಪ್ಟ್ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿದಾಗ ಎಲ್ಲಿಯವರೆಗೆ ನಾನು ನನ್ನ ಖಾಸಗಿ ಕೀ ಗೌಪ್ಯವಾಗಿಡಲಾಗಿತ್ತು ಇದ್ದರು ನಾನು ಯಾರು ಸಂದೇಶವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಕೇವಲ ಒಂದು ಆಮ್. ಡೀಕ್ರಿಪ್ಟ್ ಒಂದು ಚಂಕ್ ಸಿ ಗೆ ನಾನು ಮೂಲ ಸಂದೇಶವನ್ನು ಲೆಕ್ಕ ಮಾಡಬಹುದು D ಶಕ್ತಿ (Mod n) ಚಂಕ್ ಸಮಾನವಾಗಿರುತ್ತದೆ. ಡಿ ಮತ್ತು N ನನ್ನ ಖಾಸಗಿ ಕೀಲಿ ನಿಂದ ಎಂದು ನೆನಪಿಡಿ. ನಾವು ಡೀಕ್ರಿಪ್ಟ್ ಪ್ರತಿ ಚಂಕ್ ಅದರ ಭಾಗಗಳನ್ನು ಒಂದು ಸಂಪೂರ್ಣ ಸಂದೇಶವನ್ನು ಪಡೆಯಲು ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು concatenate. RSA ನಿಖರವಾಗಿ ಹೇಗೆ ಸುರಕ್ಷಿತ? ಸತ್ಯ, ನಮಗೆ ಗೊತ್ತಿಲ್ಲ. ಭದ್ರತೆ ಸಂದೇಶವನ್ನು ಭೇದಿಸಲು ಆಕ್ರಮಣಕಾರರೊಂದಿಗೆ ಎಷ್ಟು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಎಂದು ಆಧರಿಸಿದೆ RSA ಎನ್ಕ್ರಿಪ್ಟ್. ಆಕ್ರಮಣಕಾರರೊಂದಿಗೆ ನಿಮ್ಮ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ ನೆನಪಿಡಿ, ಇದು ಇ ಮತ್ತು ಎನ್ ಎರಡೂ ಒಳಗೊಂಡಿದೆ. ಆಕ್ರಮಣಕಾರರೊಂದಿಗೆ ಅದರ 2 ಅವಿಭಾಜ್ಯಗಳು, p ಮತ್ತು q, ಒಳಗೆ ಎನ್ ಫ್ಯಾಕ್ಟರ್ ಯಶಸ್ವಿಯಾಗುತ್ತಾನೆ ವೇಳೆ ನಂತರ ಅವರು ವಿಸ್ತೃತ ಯೂಕ್ಲಿಡಿಯನ್ ಅಲ್ಗಾರಿದಮ್ ಬಳಸಿ D ಲೆಕ್ಕಹಾಕಲು ಅಸಾಧ್ಯವಾಯಿತು. ಈ ತನ್ನ ಯಾವುದೇ ಸಂದೇಶವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬಳಸಬಹುದು ಖಾಸಗಿ ಕೀಲಿ, ನೀಡುತ್ತದೆ. ಆದರೆ ಎಷ್ಟು ಬೇಗನೆ ನಾವು ಪೂರ್ಣಾಂಕಗಳ ಕಾರಣ? ಮತ್ತೆ, ನಾವು ಗೊತ್ತಿಲ್ಲ. ಯಾರೂ, ಅದನ್ನು ಮಾಡುವ ವೇಗದ ದಾರಿ ಹುಡುಕಿದೆ ಇದು ನಿರ್ದಿಷ್ಟ ಅರ್ಥ ಸಾಕಷ್ಟು ದೊಡ್ಡ N ಇದು ಅವಾಸ್ತವಿಕವಾಗಿ ದೀರ್ಘ ಆಕ್ರಮಣಕಾರರೊಂದಿಗೆ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಸಂಖ್ಯೆ ಅಂಶ. ಯಾರಾದರೂ ಅಪವರ್ತನ ಪೂರ್ಣಾಂಕಗಳ ವೇಗದ ರೀತಿಯಲ್ಲಿ ಬಹಿರಂಗಗೊಳಿಸಲ್ಪಟ್ಟಲ್ಲಿ RSA ಅಪೂರ್ಣವಾಗಬಹುದು. ಆದರೆ ಸಹ ಪೂರ್ಣಾಂಕ ಅಪವರ್ತನೀಕರಣ ಅಂತರ್ಗತವಾಗಿ ನಿಧಾನ RSA ಕ್ರಮಾವಳಿಯು ಇನ್ನೂ ಕೆಲವು ನ್ಯೂನತೆಯು ತೋರಿಸಬಹುದಿತ್ತು ಸಂದೇಶಗಳ ಸುಲಭ ಅಸಂಕೇತೀಕರಣಕ್ಕಾಗಿ ಅನುಮತಿಸುತ್ತದೆ. ಯಾರೂ, ಇನ್ನೂ ಇಂತಹ ನ್ಯೂನತೆಯು ಕಂಡುಬಂದಿದೆ ಮತ್ತು ಬಹಿರಂಗ ಆದರೆ ಒಂದು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ ಎಂದಲ್ಲ. ಸಿದ್ಧಾಂತದಲ್ಲಿ, ಯಾರಾದರೂ RSA ಎನ್ಕ್ರಿಪ್ಟ್ ಎಲ್ಲಾ ಮಾಹಿತಿಯನ್ನು ಓದಲು ಇರಲು ಸಾಧ್ಯವಾಯಿತು. ಒಂದು ಗೌಪ್ಯತೆ ಸಮಸ್ಯೆಯನ್ನು ಮತ್ತೊಂದು ಬಿಟ್ ಇಲ್ಲ. ಟಾಮಿ ನನ್ನ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಕೆಲವು ಸಂದೇಶವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ವೇಳೆ ಮತ್ತು ಆಕ್ರಮಣಕಾರರೊಂದಿಗೆ ನನ್ನ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಅದೇ ಸಂದೇಶವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಆಕ್ರಮಣಕಾರರೊಂದಿಗೆ 2 ಸಂದೇಶಗಳನ್ನು ಒಂದೇ ಎಂದು ನೋಡುತ್ತಾರೆ ಆದ್ದರಿಂದ ಟಾಮಿ ಎನ್ಕ್ರಿಪ್ಟ್ ತಿಳಿಯಲು. ಈ ತಡೆಯಲು, ಸಂದೇಶಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಯಾದೃಚ್ಛಿಕ ಬಿಟ್ಗಳು ಪೂರ್ವಪ್ರತ್ಯಯ ಮಾಡಲಾಗುತ್ತದೆ ಅದೇ ಸಂದೇಶವನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಆದ್ದರಿಂದ ಎನ್ಕ್ರಿಪ್ಟ್ ಮುನ್ನ ದುಬೈ ಪ್ಯಾಡಿಂಗ್ ವಿಭಿನ್ನವಾಗಿದೆ ಎಂದು ಅನೇಕ ಬಾರಿ ಕಾಲ ವಿವಿಧ ನೋಡೋಣ. ಆದರೆ ನಾವು ತುಂಡುಗಳಾಗಿ ಸಂದೇಶಗಳನ್ನು ಬೇರ್ಪಡಿಸಲು ಹೇಗೆ ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಪ್ರತಿ ಚಂಕ್ N ಚಿಕ್ಕದಾಗಿದೆ ಇದರಿಂದ? ಭಾಗಗಳಲ್ಲಿ padding ನಾವು ವಸ್ತುಗಳನ್ನು ಬೇರ್ಪಡಿಸಲು ಹೊಂದಿರಬಹುದು ಅರ್ಥ ರಿಂದ ಇನ್ನಷ್ಟು ತುಂಡುಗಳಾಗಿ ಪ್ಯಾಡ್ ಚಂಕ್ N ಗಿಂತಲೂ ಚಿಕ್ಕದಾಗಿರಬೇಕು. ಗೂಢಲಿಪೀಕರಣ ಮತ್ತು ಅಸಂಕೇತೀಕರಣವನ್ನು, RSA ಜೊತೆಗೆ ತುಲನಾತ್ಮಕವಾಗಿ ದುಬಾರಿ ಮತ್ತು ಹಲವು ಭಾಗಗಳಲ್ಲಿ ಒಂದು ಸಂದೇಶವನ್ನು ಒಡೆಯಲು ಅಗತ್ಯವಿಲ್ಲದೇ ತುಂಬಾ ವೆಚ್ಚದಾಯಕ. ಹೆಚ್ಚು ಮಾಹಿತಿ ಪರಿಮಾಣ ಎನ್ಕ್ರಿಪ್ಟ್ ಅಗತ್ಯವಿದೆ ಮತ್ತು ಅಸಂಕೇತಿಕರಿಸಿದ ವೇಳೆ ನಾವು ಸಮ್ಮಿತೀಯ ಕೀ ಕ್ರಮಾವಳಿಗಳು ಲಾಭಗಳನ್ನು ಒಂದುಗೂಡಿಸಬಹುದು RSA ಆ ಜೊತೆಗೆ ಭದ್ರತೆ ಮತ್ತು ಸಾಮರ್ಥ್ಯ ಎರಡೂ ಪಡೆಯಲು. ನಾವು ಇಲ್ಲಿ ಹೋಗಲು ಆಗುವುದಿಲ್ಲ ಆದರೂ, AES Vigenère ಮತ್ತು ಸೀಸರ್ ಸೈಫರ್ ಒಂದು ಸಾಮ್ಯತೆಯಿರುವ ಕೀಯನ್ನು ಹೊಂದಿದೆ ಆದರೆ ಬಹಳ ಗಡುಸಾದ ಭೇದಿಸಲು. ಸಹಜವಾಗಿ, ನಾವು ಒಂದು ಹಂಚಿಕೆಯ ರಹಸ್ಯ ಕೀಲಿಯನ್ನು ಸ್ಥಾಪಿಸದೇ AES ಬಳಸುವಂತಿಲ್ಲ 2 ವ್ಯವಸ್ಥೆಗಳ ನಡುವೆ, ಮತ್ತು ನಾವು ಮೊದಲು ಆ ಸಮಸ್ಯೆಯನ್ನು ಕಂಡಿತು. ಆದರೆ ಈಗ ನಾವು 2 ವ್ಯವಸ್ಥೆಗಳ ನಡುವಿನ ಹಂಚಿಕಾ ರಹಸ್ಯ ಕೀಲಿಯನ್ನು ಸ್ಥಾಪಿಸಲು RSA ಬಳಸಬಹುದು. ನಾವು ಅಕ್ಷಾಂಶ ಕಳುಹಿಸುವವರ ಕಳುಹಿಸುವ ಕಂಪ್ಯೂಟರ್ ಕರೆ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಕಂಪ್ಯೂಟರ್ ಡೇಟಾ ರಿಸೀವರ್ ಸ್ವೀಕರಿಸಿದ. ಗ್ರಾಹಕವು RSA ಕೀ ಜೊತೆಗೆ ಮತ್ತು ಕಳುಹಿಸುತ್ತದೆ ಕಳುಹಿಸುವವರ ಸಾರ್ವಜನಿಕ ಕೀ. ಕಳುಹಿಸುವವರ, ಒಂದು AES ಕೀಲಿ ಉತ್ಪಾದಿಸುತ್ತದೆ ಗ್ರಾಹಕನ RSA ಸಾರ್ವಜನಿಕ ಕೀ ಅದನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್, ಮತ್ತು ಗ್ರಾಹಕ AES ಕೀಲಿ ಕಳುಹಿಸುತ್ತದೆ. ರಿಸೀವರ್ ತನ್ನ RSA ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಬಳಸಿ ಸಂದೇಶವನ್ನು decrypts. ಕಳುಹಿಸುವವ ಮತ್ತು ಸ್ವೀಕರಿಸುವವರು ಇಬ್ಬರೂ ಈಗ ಅವುಗಳ ನಡುವೆ ಹಂಚಿಕೆಯ AES ಕೀ. RSA ಹೆಚ್ಚು ಗೂಢಲಿಪೀಕರಣ ಮತ್ತು ಅಸಂಕೇತೀಕರಣವನ್ನು ನಲ್ಲಿ ಹೆಚ್ಚು ವೇಗವಾಗಿ ಇದು AES, ಈಗ ಮಾಹಿತಿಗಳ ಬೃಹತ್ ಪ್ರಮಾಣಗಳಿಗೆ ಗೂಢಲಿಪೀಕರಿಸಲು ಮತ್ತು ರಿಸೀವರ್ ಅವರನ್ನು ಕಳುಹಿಸಲು ಬಳಸಬಹುದು, ಡೀಕ್ರಿಪ್ಟ್ ಅದೇ ಕೀಲಿಯನ್ನು ಯಾರು ಬಳಸಿ ಮಾಡಬಹುದು. RSA ಹೆಚ್ಚು ಗೂಢಲಿಪೀಕರಣ ಮತ್ತು ಅಸಂಕೇತೀಕರಣವನ್ನು ನಲ್ಲಿ ಹೆಚ್ಚು ವೇಗವಾಗಿ ಇದು AES, ಈಗ ಮಾಹಿತಿಗಳ ಬೃಹತ್ ಪ್ರಮಾಣಗಳಿಗೆ ಗೂಢಲಿಪೀಕರಿಸಲು ಮತ್ತು ರಿಸೀವರ್ ಅವರನ್ನು ಕಳುಹಿಸಲು ಬಳಸಬಹುದು, ಡೀಕ್ರಿಪ್ಟ್ ಅದೇ ಕೀಲಿಯನ್ನು ಯಾರು ಬಳಸಿ ಮಾಡಬಹುದು. ನಾವು ಹಂಚಿಕೆಯ ಕೀಲಿ ವರ್ಗಾಯಿಸಲು RSA ಅಗತ್ಯವಿದೆ. ನಾವು ಇನ್ನು ಮುಂದೆ ಎಲ್ಲ RSA ಬಳಸಬೇಕಾಗುತ್ತದೆ. ನಾನು ಒಂದು ಸಂದೇಶವನ್ನು ಪಡೆದಿರುವಿರಿ ತೋರುತ್ತಿದೆ. ಯಾರಾದರೂ ಕಾಗದದ ವಿಮಾನದಲ್ಲಿ ಎಂಬುದನ್ನು ಓದಲು ನಾನು ಹಿಡಿದ ಮುಂಚೆ ಅಪ್ರಸ್ತುತವಾಗುತ್ತದೆ ನಾನು ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಮಾತ್ರ ಒಂದು ಆಮ್ ಕಾರಣ. ಸಂದೇಶದಲ್ಲಿ ಭಾಗಗಳಲ್ಲಿ ಪ್ರತಿ ಡೀಕ್ರಿಪ್ಟ್ ನೋಡೋಣ. ಮೊದಲ ಪಡೆ, 658, ನಾವು, 185 ಇದು D ಅಧಿಕಾರ ನೀಡಬೇಕು 989 ಇದು ಮಾಡ್ N, 67 ಸಮಾನವಾಗಿರುತ್ತದೆ ASCII ಪದ ಸಿ ಇದು. ಈಗ, ಎರಡನೆಯ ಪಡೆ ಮೇಲೆ. ಎರಡನೇ ಚಂಕ್, ಮೌಲ್ಯ 15 ಹೊಂದಿದೆ ನಾವು 185 ನೇ ವಿದ್ಯುತ್ ನೀಡಬೇಕು, ಇದು ಅಳತೆಯ 989, ಮತ್ತು ಈ 83 ಸಮಾನವಾಗಿರುತ್ತದೆ ASCII ಪದ ಎಸ್ ಇದು. ಈಗ ಮೌಲ್ಯ 799 ಹೊಂದಿರುವ ಮೂರನೇ ಚಂಕ್, ಗಾಗಿ, ನಾವು, 185 ನೀಡಬೇಕು ಅಳತೆಯ 989, ಮತ್ತು ಈ 53 ಸಮಾನವಾಗಿರುತ್ತದೆ, ASCII ಅಕ್ಷರ 5 ಮೌಲ್ಯವನ್ನು ಇದು. ಈಗ ಕೊನೆಯ ಚಂಕ್, ಇದರಲ್ಲಿ, ಮೌಲ್ಯ 975 ಹೊಂದಿದೆ ನಾವು 185 ಗೆ ಮಾಡ್ 989 ಸಂಗ್ರಹಿಸುವ ಮತ್ತು ಈ ASCII ಅಕ್ಷರ 0 ಮೌಲ್ಯವನ್ನು ಇದು 48, ಸಮಾನವಾಗಿರುತ್ತದೆ. ನನ್ನ ಹೆಸರನ್ನು ರಾಬ್ ಬೌಡೆನ್ ಆಗಿದೆ, ಮತ್ತು ಈ CS50 ಹೊಂದಿದೆ. [CS50.TV] ಎಲ್ಲ RSA. ಎಲ್ಲ RSA. [ನಗು] ಎಲ್ಲ.