Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

hỏi về RSA

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • hỏi về RSA

    Hi các bác!
    Mình cũng co nghe nói security với RSA nhưng mà mình ko biết RSA là ghi tắt của chữ gỉ?
    Mong các bác chỉ cho
    Thanks

  • #2
    RE: hỏi về RSA

    chào bạn

    Dùng trang web acronymfinder.com:

    RSA:Rivest, Shamir, & Adleman (public key encryption technology)

    còn một nghĩa khác phổ biến không kém là

    Republic of South Africa


    Chúc bạn vui vẻ
    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
    Trung Tâm Tin Học VnPro
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel : (08) 35124257 (5 lines)
    Fax: (08) 35124314

    Home page: http://www.vnpro.vn
    Support Forum: http://www.vnpro.org
    - Chuyên đào tạo quản trị mạng và hạ tầng Internet
    - Phát hành sách chuyên môn
    - Tư vấn và tuyển dụng nhân sự IT
    - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

    Network channel: http://www.dancisco.com
    Blog: http://www.vnpro.org/blog

    Comment


    • #3
      Đó hình như là tên của 3 người chế ra RSA hay sao đó?Chủ đề về RSA rất hay! Cùng thảo luận đi !!!!

      ...
      And we are all connected to each other
      In a circle, in a hoop that never ends
      ...

      Comment


      • #4
        Bạn có thể xem ở link này về thuật toán của RSA

        Comment


        • #5
          RE: hỏi về RSA

          Xin chào,

          RSA được liệt vào một trong các giải thuật mã hóa bất đối xứng được dùng thông dụng nhất cho đến ngày hôm nay (ra đời năm 1978 tại MIT): Nó được dùng hàng ngày trong các giao dịch thương mại điện tử qua web browser (SSL), PGP, dùng cho digital signature đảm bảo tính toàn vẹn của các thông điệp khi lưu chuyển trên Internet, key distribution....

          Giải thuật trình bày hai khái niệm đó chính là public và private key, tính an toàn và độ phức tạp của giải thuật chính là nhờ phép toán liên quan đến tích số của một cặp số nguyên tố rất cao, tạo ra một số rất rất cao mà hầu như không thể đoán ngược trở lại được hai số nguyên tố ban đầu

          Trong các kết nối VPN RSA thường được dùng để mã hóa các "session key" (key để mã hóa data dùng cho giải thuật mã hóa đối xứng) giúp cho quá trình trao đổi các secret keys được đơn giản và dễ dàng, bảo đảm được tính xác thực cũng như tính toàn vẹn trong quá trình trao đổi dữ liệu
          Flux -> Flask -> SELinux (RHEL 4)
          Beating the 0-day vulrerability threat

          Comment


          • #6
            RSA:

            R- Rivest
            S- Shamir
            A- Adleman

            Đây là tên ba học viên của trường công nghệ Massachuset. Những người đã phát minh ra thuật toán này.

            Những thông tin của itmansaigon hoàn toàn chính xác.
            Mình đặt thêm một câu hỏi để kéo dài topic này:

            Mặc dù "hệ thống" mã hóa bất đối xứng (dùng public, private key) có nhiều ưu điểm vượt trội so với "hệ thống" mã hóa đối xứng (dùng shared key). Nhưng tại sao hiện nay người ta vẫn dùng cả 2 phương pháp mã hóa này cùng lúc (dùng puplic, private key để trao đổi shared key, sau đó mới dùng shared key để mã hóa thống tin giữa 2 peers).

            Đâu là nhược điểm của phương pháp mã hóa bất đối xứng dẫn đến việc phải dùng lồng ghép thế này???
            1'hpSky!

            Comment


            • #7
              RE: hỏi về RSA

              Xin chào mọi người,

              Cho phép itmansaigon được nói thêm một chút nữa nhé

              Các giải thuật mã hóa đối xứng như DES, AES, IDEA, Blowfish... được công khai cách thức và phương pháp mã hóa, như vậy thì độ khó duy nhất để có thể đảm bảo được tính bảo mật của data chỉ có thể nẳm ở chiều dài của secret key, ví dụ DES chỉ có 56 bit key và với các máy PC với CPU cực mạnh như ngày nay thì có thể detect được secret key trong vòng vài giờ nhưng với 3DES thì lại khác nó khó gấp 2^56 lần DES nên bạn cứ yên tâm mà sử dụng (khà khà), hiện nay AES hầu như được xem là giài thuật mới tối ưu hơn thay thế cho 3DES cho các kết nối VPN ipsec bạn có thể chọn chiểu dài key từ 128, 192, cho đến 256-bit (crack cháy CPU luôn :-) ). Mã hóa đối xứng có ưu điểm là nhanh hơn mã hóa bất đối xứng rất nhiều (bạn có tin không? 1000 lần nhanh hơn bất đối xứng) nên người ta mới dùng nó để encrypt các data cần trao đổi với nhau qua các môi trường insecure, nhược điểm của mã hóa đối xứng chính là nó không cho biết được tính xác thực cũng như sự toàn vẹn của data (có thật message đó là của người yêu của mình gởi cho mình không? và nó có bị sửa đổi hay thêm mắm thêm muối gì vào đó hay không?) và nó cũng bất tiện ở chỗ là secret key để encrypt và decrypt data cần phải được trao đổi riêng qua các phương tiện khác (out of band) chứ không thể gởi đi cùng data được

              Mã hóa bất đối xứng ra đời để giúp cuộc sống cho các IT men được dễ chịu hơn đó các bạn ạ, bạn và người yêu của bạn mỗi người đều có một cặp chìa public và private riêng, chìa public thì show up ra cho mọi người đều biết, chìa còn lại cất kỹ đi để dùng cho NHIỀU việc.

              Bạn viết cho người yêu một lá thư tình sau đó encrypt nó lại dùng mã hóa đối xứng với một secret key, vì secret key cần được giữ bí mật nên bạn mới lấy public key của người yêu encrypt nó lại như vậy bây giở cả hai nội dung lá thư và secret key dùng để đọc lá thư đó cũng đã được mã hóa rồi, cả hai sẽ được gởi đến người yêu của bạn, sau khi nhận được thông tin trên, người yêu của bạn trước tiên sẽ dùng private key của mỉnh để giải mã ra nội dung của secret key trước, sau khi có secret key rồi cô ta mới dùng nó để giải mã nội dung bức thư tình của người yêu, quá trình như trên được tiến hành tương tự như vậy khi cô ta muốn gởi ngược lại cho bạn một lá thư tình khác

              Do lấy cái có tốc độ nhanh để encrypt và decrypt big data và cái tốt độ chậm hơn nhiều để encrypt và decrypt very small data (secret key) nên cuối cùng tổng cộng quá trình encrypt và decrypt cho toàn bộ data cũng tương đối nhanh (chỉ chậm một chút xíu lúc đầu thôi :-) )

              Private key không chỉ để dùng để decrypt data mà nó còn được dùng để encrypt (sign) các hash value dùng để bảo đảm tính toàn vẹn của dữ liệu
              Flux -> Flask -> SELinux (RHEL 4)
              Beating the 0-day vulrerability threat

              Comment


              • #8
                itmansaigon nói tiếp về chữ ký số đi!
                - Chữ ký số được tạo ra thế nào?
                - Có những thuật toán nào?
                - Chữ ký số hiện nay các CA thường sử dụng là loai nào?
                1'hpSky!

                Comment


                • #9
                  RE: hỏi về RSA

                  Xin chào các bạn,

                  itmansaigon xin nói một tí về chữ ký số nhé

                  Trong các giao dịch thương mại điện tử thì việc bảo đảm tính toàn vẹn của data được xem là vô cùng quan trọng (Ví dụ xếp của bạn gởi email nói rằng bạn phải trả cho khách hàng USD 50, nhưng có ai đó đã chặn được message sửa lại nội dung là USD 5000 và gởi cho bạn).

                  Trước tiên chúng ta hay thử đi tìm hiểu cơ chế one-way-hash một chút nhé, với các data có độ dài khác nhau bất kỳ khi được cho qua một thuật toán one-way-hash thì sẽ được "băm" ra thành các chuỗi có chiều dài khá nhỏ và cố định được gọi là message digest (ví dụ: b90c9054849c187aa681464bb62b9a95, 16cb26421451cc406f5bc111b969c38f) và thuật toán này bảo đảm rằng nếu nội dung data bị thay đổi (dù chỉ là một bit) thì kết quả của message digest cũng sẽ thay đổi, các giải thuật hash dùng 128-bit key: MD2, MD4, MD5, 160 bit-key: SHA, SHA-1... đây chính là yếu tố then chốt để kiểm tra tính toàn vẹn của dữ liệu, và bạn có thắc mắc là tại sao lại phải cần có message digest có chiều dài khá nhỏ như vậy không ?

                  Giả sử xếp của bạn gởi cho bạn một message email với nội dung như ví dụ ở trên, nội dung của message sẽ được cho qua một thuật toán one-way-hash MD5 chẳng hạn và kết quả là ta có một message digest tương ứng, sau đó xếp bạn sẽ lấy PRIVATE key của mình để ký (encrypt) vào message digest đó để tạo thành một cái gọi là DIGITAL SIGNATURE, và chữ ký điện tử này sẽ được gởi kèm theo message ban đầu đến bạn.

                  Khi nhận được email từ xếp thì bạn sẽ lấy PUBLIC key của xếp để decrypt DIGITAL SIGNATURE và có được message digest của xếp, so sánh kết quả này và giá trị tính toán MD5 lại nội dung message ngay tại máy của bạn nếu chúng giống nhau thì có nghĩa là message không bị thay đổi (đơn giản quá phải không các bạn) vì chỉ có xếp của bạn là người giữ PRIVATE key dùng để "ký", và nếu message digest mà có chiều dài quá lớn thì thời gian để encrypt và decrypt message digest này rất lâu phải không bạn (1000 lần symmetric algorithm) và cũng tốn nhiều bandwidth để gởi thêm cái "chữ ký" này đi nữa :-) ...

                  P.S. Bạn nào đang sử dụng linux có thể dùng lệnh md5sum để tạo ra message digest đấy
                  Flux -> Flask -> SELinux (RHEL 4)
                  Beating the 0-day vulrerability threat

                  Comment


                  • #10
                    Nói thêm một chút về chữ ký số:
                    -Để tạo chữ ký số người ta dùng một thuật toán với tham số đầu vào gồm 2 phần 1.Private Key của người gửi và 2.thông tin cần gửi đi đã cho qua hash function(có thể là một đoạn văn bản). Đầu ra của thuật toán đó chính là chữ ký số.
                    - Hiện tại có 2 loại chữ ký số là: RSA và DSA. Trong đó RSA được sử dụng cho cả mã hóa và chữ ký số, còn DSA chỉ dùng tạo chữ ký số.

                    Bây giờ itmansaigon nói tiếp về CA và Payment System đi??
                    1'hpSky!

                    Comment


                    • #11
                      RE: hỏi về RSA

                      Chào 1'hpSky,

                      Coi bộ mình nói hơi bị nhiều rồi, và mọi người cũng có thể chán cái kiểu viết của mình, và hình như bạn cũng có vẻ hứng thú về phần CA hay Payment System gì đó sao bạn không cho biết "cảm nghĩ" luôn đi còn chần chờ gì nữa vậy? ;-)
                      Flux -> Flask -> SELinux (RHEL 4)
                      Beating the 0-day vulrerability threat

                      Comment


                      • #12
                        RE: hỏi về RSA

                        Hi ITManSaiGon,

                        Bạn nói rất hay, rất cô đọng, chứ nói đến cái đề tài này nói đến sang năm cũng không hết nữa phải không ehehhehehehehe... Lở yêu rồi thì bạn nói luôn về CA đi, cái này người ta hay nhằm lẫn lắm đấy và khi nói đến CA thì người ta thường nghĩ ngay đến là phải dùng của VeriSign mới là OK??? Sao vậy nhi??? Phân tích tí nhé và khơi màu cho một cuộc tranh luận về vấn đề này để hấp dẫn nhé. OK???
                        Crazy ®

                        Comment


                        • #13
                          RE: hỏi về RSA

                          Để mình tiếp chiêu nhé :D

                          CA ~ Certificate Authority là một Server, một tổ chức, một công ty,... cung cấp chứng nhận và xác thực bạn là ai??? Hắn có đủ tin tưởng không để em giao THÂN XÁC em cho hắn hehehehehe...

                          Chứng nhận (Certificate) là gì???
                          Chứng nhận là nhận dạng một người hay một vật nào đó.
                          Giấy chứng nhận (certificate) là một tài liệu điện tử dùng để nhận dạng một cá nhân, một máy chủ, một công ty, hay là một thực thể nào đó; từ đó để liên kết sự nhận dạng này với một khóa công khai. Giống như bằng lái xe, giấy thông hành hay một loại giấy tờ tùy thân phổ biến nào khác, một giấy chứng nhận thông thường cho biết nguồn gốc nhận dạng của một người. Mã khóa công khai sửng dụng các giấy chứng nhận này để chỉ ra vấn đề có mạo danh người khác hay không.
                          Để lấy được bằng lái xe, bạn buộc phải nộp đơn vào một cơ quan của Chính phủ, chẳng hạn Phòng quản lý xe cơ giới, nơi đó họ sẽ xác minh lại lai lịch của bạn, khả năng lái xe, địa chỉ và các thông tin khác trước khi cấp bằng lái cho bạn.
                          Để có được một giấy chứng nhận sinh viên, bạn phải nộp đơn vào một trường trung học hay trường đại học, nơi đó họ sẽ tiến hành kiểm tra vài thông tin (chẳng hạn như xem bạn đã trả tiền học phí chưa) trước khi cấp thẻ sinh viên cho bạn.
                          Cũng như để có được một thẻ thư viện, bạn chỉ cần cung cấp tên bạn và biên lai tính tiền có địa chỉ của bạn.
                          Các việc chứng nhận (trên máy tính) hoạt động giống như với các kiểu nhận dạng quen thuộc kể trên. Các cơ sở chứng nhận (Certificate Authorities - CAs) là những thực thể với mục đích là hợp thức hóa các đối tượng và cấp giấy chứng nhận. Họ có thể hoặc là đơn vị thứ ba độc lập, hoặc là những tổ chức có dùng phần mềm của họ để làm việc chứng nhận (chẳng hạn như Netscape Certificate Server). Các phương pháp được dùng để hiệu lực hóa một định danh thay đổi tùy thuộc vào những quy định của một CA có sẳn - giống như cách hiệu lực hóa các kiểu nhận dạng khác thay đổi tùy thuộc vào người phát hành ra ID đó, với mục đích là nó sẽ được sử dụng.
                          Nói tóm lại, trước khi phát hành ra một thẻ chứng nhận, CA phải dùng các thủ tục chứng thực cho kiểu chứng nhận đó để chắc chắn rằng một thực thể yêu cầu phải có một thẻ chứng thực phải có chứng thực.
                          Chứng nhận do CA phát hành ràng buộc một khóa công khai vào tên của thực thể (như tên của một nhân viên hay một máy chủ chẳng hạn). Các chứng nhận giúp ngăn ngừa được việc sử dụng các khóa công khai giả với mục đích giả mạo. Chỉ có khóa công khai được cấp chứng nhận mới có thể hoạt động với khóa riêng, và một thực thể được cấp chứng nhận sở hữu nó.
                          Nói thêm về khóa công khai, một chứng nhận bao giờ cũng có tên của thực thể mà nó nhận dạng, ví dụ như ngày hết hạn, tên của CA phát hành chứng nhận đó, như số seri, và những thông tin khác. Quan trọng nhất là một chứng nhận bao giờ cũng có chữ ký số của CA phát hành. Chữ ký số của CA cho phép chứng nhận này có chức năng giống như một “giấy giới thiệu” cho những người sử dụng biết và tin tưởng vào CA nhưng lại không biết thực thể được chứng nhận.

                          Xác nhận (Authentication) là sao???
                          Xác nhận là một tiến trình nhận dạng một lai lịch. Trong phạm vi mạng, việc xác nhận có liên quan đến lai lịch cá nhân. Việc xác nhận trên mạng có thể có nhiều dạng. Các giấy chứng nhận là một cách hỗ trợ cho việc xác nhận. “Tương tác mạng” là môi trường giữa các máy khách và máy chủ. Máy khách là máy chạy trình duyệt, máy chủ là máy phục vụ web.
                          Việc xác nhận máy khách (Client authentication) liên quan đến lai lịch cá nhân của một máy khách với máy chủ (nghĩa là, lai lịch của người đang sử dụng phần mềm trên máy khách).
                          Việc xác nhận máy chủ (Server authentication) liên quan đến lai lịch của một máy chủ với một máy khách (nghĩa là, lai lịch của một tổ chức phải có trách nhiệm đối với máy chủ tại một địa chỉ mạng cụ thể).
                          Việc xác nhận máy khách và máy chủ không phải là những dạng xác thực duy nhất mà còn có hỗ trợ thêm các giấy chứng thực. Ví dụ, chữ ký số trên một tin nhắn điện tử (email message). Kết hợp với giấy chứng nhận dùng để nhận dạng người gửi (sender), cung cấp những bằng chứng rằng người đó thực sự đã gửi tin nhắn đó. Tương tự, một chữ ký số trên form HTML, kết hợp với giấy chứng nhận dùng để nhận dạng người ký, có thể cung cấp những bằng chứng cho biết người đó đã xác nhận là đồng ý với nội dung của form này.
                          Hơn nữa đối với việc xác nhận, thì chữ ký số trong cả hai trường hợp trên sẽ làm chứng cho việc “không công nhận”, nghĩa là chữ ký số làm cho người ký khó mà chối nhận mình đã không gửi email.
                          Việc xác nhận máy khách là một thành phần chủ yếu của việc bảo mật mạng trên hầu hết các mạng cục bộ và mạng mở rộng.
                          Crazy ®

                          Comment


                          • #14
                            hihi, vui quá, mình chỉ thích "tung" lên thôi còn bạn nào "hứng" thì tùy ah`. Một người tung một người hứng thì mới vui chứ.
                            thankiu Crazy đã tiếp chiêu hộ, bạn viết cũng rất hay.
                            Mọi người có đồng ý hướng topic này sang chủ đề Thương mại điện tử không? Cái này lớn lắm nên phải nói từ từ. Mọi người xem bắt đầu từ đâu nhỉ?
                            1'hpSky!

                            Comment


                            • #15
                              RE: hỏi về RSA

                              ITManGaiGon đâu rồi??? Bạn tiếp nữa đi, nghe tới đó chưa nhận ra bạn là ai cả, vì thấy cách nói thấy nghe qua ở đâu rồi nhỉ hehehehehe...
                              Crazy ®

                              Comment

                              Working...
                              X