dùng có thể cài đặt một ứng dụng với một máy quét QR-code có thể đọc đượcmột mã hiển thị và chuyển đổi nó vào một URL chỉ đến trang web của một côngty, cửa hàng, hoặc sản phẩm liên quan
Trang 1BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
BÁO CÁO BÀI TẬP
ĐỀ TÀI: TÌM HIỂU VÀ NGHIÊN CỨU MÃ QR CODE VÀ XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG QUÁ TRÌNH SỬ
DỤNG QR CODE TRONG GIAO DỊCH
Ngành: An toàn thông tin
Sinh viên thực hiện:
Nguyễn Thế Long - AT170233
Triệu Đức Vinh - AT170257
Người hướng dẫn:
TS Lê Quang Huy
Khoa ATTT - Học viện KTMM
Hà Nội - 2024
Trang 3MỤC LỤC
Mục lục i
Danh mục kí hiệu và viết tắt iii
Danh mục hình vẽ v
Danh mục bảng vii
Lời nói đầu viii
Chương 1 cơ sở lý thuyết 1
1.1 Tổng quan Blockchain 1
1.1.1 Khái niệm 1
1.1.2 Một số vấn đề thách thức với công nghệ Blockchain 11
1.1.3 Ứng dụng 16
1.1.4 Phân loại 17
1.2 Tổng quan danh tính điện tử 20
1.2.1 Định nghĩa 20
1.2.2 Quản lý định danh 22
1.2.3 Các mô hình quản lý định danh 24
Chương 2 Mô hình định danh số tự chủ 28
2.1 Mô hình Self-Sovereign Identity 28
2.1.1 Các yếu tố cấu thành 28
2.1.2 Tự chủ danh tính dựa trên Blockchain 29
2.1.3 Kịch bản lý tưởng 30
2.2 Nền tảng đề xuất Hyperledger 37
2.2.1 Tổng quan Hyperledger 37
2.3 Hyperledger Indy 39
Chương 3 Xây dựng hệ thống ứng dụng công nghệ Blockchain trong bài toán Quản lý Định danh điện tử 50
3.1 Mục tiêu xây dựng 50
3.2 Kịch bản thử nghiệm 53
3.2.1.Chuẩn bị 53
3.2.2.Tổng quan kịch bản 55
3.2.3.Đặc tả chức năng 57
3.3 Triển khai và cài đặt hệ thống giả lập 53
3.3.1.Cấu hình nội dung tệp cài đặt 53
3.3.2 Khởi động hệ thống 55
3.3.3 Tiến hành thử nghiệm 57
3.4 Kết luận 64
Trang 4KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
DANH MỤC HÌNH VẼ Hình 1-1: Khối trong chuỗi khối, cây Merkle trong một khối 4
Hình 1-2: Địa chỉ Ethereum - Source: medium.com 5
Hình 1-3: Hệ thống mạng ngang hàng 6
Hình 1-4: Mô hình hoạt động của một Blockchain công khai 11
Hình 1-5: Phân nhánh trong Blockchain 12
Hình 1-6: Vòng đời định danh điện tử 21
Hình 1-7: Mô hình quản lý định danh ứng với từng nhà cung cấp dịch vụ 23
Hình 1-8: Mô hình quản lý định danh tập trung 23
Hình 2-1: Các tác nhân trong mô hình tự chủ danh tính 30
Hình 2-2: Lược đồ hoạt động của mô hình tự chủ danh tính 30
Hình 2-3: Tam giác Blockchain - Blockchain Trilemma 38
Hình 2-4: Hệ sinh thái Hyperledger 39
Hình 2-5: Cú pháp DID 40
Hình 2-6: Mô hình xác thực danh tính truyền thống 41
Hình 2-7: Mô hình xác thực danh tính sử dụng tự chủ danh tính 41
Hình 3-1: Tương tác giữa các thực thể 50
Hình 3-2: Giao diện của Alice 51
Hình 3-3: Thông tin khởi tạo các node 52
Hình 3-4: Mẫu đăng ký chứng chỉ 54
Hình 3-5: Giao diện quản lý của đại học Faber 54
Hình 3-6: Faber gửi yêu cầu kết nối đến Alice 55
Hình 3-7: Thư yêu cầu được kết nối với Alice gửi từ Faber 55
Hình 3-8: Alice kết nối thành công với Faber 56
Hình 3-9: Faber cấp chứng chỉ học thuật cho Alice 56
Trang 5Hình 3-11: Thông tin chứng chỉ học thuật của Alice 64
Hình 3-12: Tập đoàn ACME chấp nhận yêu cầu kết nối từ Alice 64
Hình 3-13: Tập đoàn ACME sao chép mẫu yêu cầu xem chứng chỉ từ đại học Faber 65
Hình 3-14: ACME gửi yêu cầu xem chứng chỉ của Alice 65
Hình 3-15: Alice cho phép tập đoàn ACME xem chứng chỉ 66
Hình 3-16: ACME đã có thể xem chứng chỉ học thuật của Alice 66
Trang 6LỜI NÓI ĐẦU
Trong thời đại công nghệ số bùng nổ, mã QR (Quick Response) đã nổi lênnhư một công cụ thiết yếu trong nhiều lĩnh vực, đặc biệt là trong các hoạt độnggiao dịch và thanh toán điện tử Với khả năng mã hóa thông tin nhanh chóng,chính xác và dễ dàng quét bằng các thiết bị di động, mã QR mang lại sự tiện lợi,hiệu quả và an toàn cho người dùng Việc nghiên cứu và tìm hiểu về mã QRkhông chỉ giúp nắm bắt được các khía cạnh kỹ thuật và cơ chế hoạt động củaloại mã này mà còn mở ra nhiều cơ hội ứng dụng trong thực tiễn
Tính cấp thiết của đề tài này nằm ở sự phổ biến ngày càng gia tăng của
mã QR trong đời sống hàng ngày Từ thanh toán tại các cửa hàng, nhà hàng, đếnviệc xác thực thông tin trong các dịch vụ công cộng, mã QR đã trở thành mộtphần không thể thiếu trong các hoạt động thường nhật Đặc biệt, trong bối cảnhđại dịch COVID-19, nhu cầu về các phương thức thanh toán không tiếp xúc đãthúc đẩy sự phát triển và áp dụng rộng rãi của mã QR Việc sử dụng mã QR giúphạn chế tiếp xúc vật lý, giảm nguy cơ lây nhiễm, và tăng cường trải nghiệmngười dùng thông qua quy trình thanh toán nhanh gọn và tiện lợi
Mặt khác, việc xây dựng một chương trình mô phỏng quá trình sử dụng
mã QR trong giao dịch không chỉ mang tính học thuật mà còn có ý nghĩa thựctiễn cao Thông qua việc mô phỏng, chúng ta có thể kiểm tra, đánh giá hiệu quả
và bảo mật của các hệ thống thanh toán sử dụng mã QR Điều này không chỉgiúp cải thiện chất lượng dịch vụ mà còn đóng góp vào việc phát triển các giảipháp thanh toán điện tử an toàn và tin cậy hơn
Nghiên cứu này cũng giúp giải quyết các thách thức kỹ thuật và bảo mậtliên quan đến mã QR Mặc dù mã QR mang lại nhiều lợi ích, nhưng nó cũng cónhững điểm yếu cần được khắc phục, như các mối đe dọa từ mã độc và cácphương thức tấn công giả mạo Việc tìm hiểu và đề xuất các biện pháp bảo vệ sẽgóp phần nâng cao độ an toàn và tin cậy của các giao dịch sử dụng mã QR.Ngoài ra, ứng dụng của mã QR không chỉ giới hạn trong thanh toán mà còn mởrộng ra nhiều lĩnh vực khác như giáo dục, y tế, du lịch và quảng cáo Việcnghiên cứu sâu về mã QR và phát triển các ứng dụng thực tiễn sẽ tạo điều kiệnthúc đẩy sự sáng tạo và đổi mới trong nhiều ngành công nghiệp, từ đó mang lạilợi ích kinh tế và xã hội đáng kể
Tóm lại, việc tìm hiểu và nghiên cứu mã QR code cùng với xây dựngchương trình mô phỏng quá trình sử dụng mã QR trong giao dịch không chỉ đápứng nhu cầu hiện tại mà còn mở ra nhiều triển vọng phát triển trong tương lai.Điều này khẳng định tính cấp thiết và thực tiễn cao của đề tài, góp phần thúc đẩy
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ MÃ QRCODE
Hình ảnh mã QR CodeMột mã QR được đọc bởi một đầu đọc mã vạch, chẳng hạn như một máyảnh, một điện thoại di động, một điện thoại thông minh, hoặc một webcam, và
sử dụng thuật toán sửa lỗi Reed-Solomon
Mã QR được phát minh tại Nhật Bản bởi công ty Denso Wave( công ty concủa Toyota) vào năm 1994 để theo dõi xe trong sản xuất
Các mã QR nhỏ nhất là 21x21 pixel, và lớn nhất là 177x177 Các kích thướcđược gọi là phiên bản Kích thước 21x21 pixel là phiên bản 1, 25x25 là phiênbản 2, và cứ tiếp tục như thế Kích thước 177x177 là phiên bản 40
1.1.2 Sử dụng
Ban đầu được thiết kế cho mục đích sử dụng công nghiệp, mã QR đã trở nên
Trang 8dùng có thể cài đặt một ứng dụng với một máy quét QR-code có thể đọc đượcmột mã hiển thị và chuyển đổi nó vào một URL chỉ đến trang web của một công
ty, cửa hàng, hoặc sản phẩm liên quan đến mã cung cấp thông tin cụ thể bằngtrình duyệt web của điện thoại
"In the shopping industry, knowing what causes the consumers to bemotivated when approaching products by the use of QR codes, advertisers andmarketers can use the behavior of scanning to get consumers to buy, causing it
to have the best impact on ad and marketing design" - Tolliver-Walker, Heidi(2011) Kết quả là, mã QR đã trở thành một trọng tâm của quảng cáo chiến lược,
vì nó cung cấp truy cập nhanh và dễ dàng đến trang web của thương hiệu Ngoàiviệc tiện lợi cho người tiêu dùng, tầm quan trọng của điều này khả năng là nólàm tăng tỷ lệ chuyển đổi (có nghĩa là, làm tăng cơ hội có thể liên lạc với cácquảng cáo sẽ chuyển đổi để bán), bằng cách đưa người xem đến trang web củanhà quảng cáo ngay lập tức
Mã QR lưu trữ địa chỉ và Uniform Resource Locators (URL) có thể xuất hiệntrên các tạp chí, trên các chữ ký, trên xe buýt, trên thẻ kinh doanh, hoặc trên hầuhết các đối tượng cần sử dụng thông tin Người sử dụng với một máy ảnh điệnthoại được trang bị một ứng dụng đọc chính xác có thể quét hình ảnh của mã QR
để hiển thị văn bản, thông tin liên lạc, kết nối với một mạng không dây , hoặc
mở một trang web trong trình duyệt của điện thoại Mã QR cũng có thể nối tiếpđến một vị trí nơi mà mã đã được quét Hoặc các ứng dụng quét mã QR truyxuất thông tin địa lý bằng cách sử dụng GPS và tế bào tam giác tháp (aGPS)hoặc URL được mã hóa trong mã QR chính nó được liên kết với một vị trí
1.2 Đặc điểm của QR Code
1.2.1 So sánh QR code và BarCode
QR Code chứa đựng thông tin một địa chỉ web, thời gian diễn ra một sự kiện,thông tin liên hệ địa chỉ email, tin nhắn SMS, nội dung ký tự văn bản hay thậmchí là thông tin định vị vị trí địa lý Tùy thuộc thiết bị đọc mã QR mà bạn dùngkhi quét, nó sẽ dẫn bạn tới một trang web, gọi đến một số điện thoại, xem mộttin nhắn
QR code cũng tương tự mã vạch truyền thống tuy nhiên điểm khác nhau giữa
QR code và mã vạch truyền thống là lượng dữ liệu chúng nắm giữ hay chia sẻ.Các mã vạch truyền thống có các đường vạch thẳng dài một chiều và chỉ có
Trang 9hàng ngàn ký tự chữ số QR code nắm giữ nhiều thông tin hơn và tính chất dễdùng sẽ giúp ích rất nhiều cho các doanh nghiệp vừa và nhỏ.
1.2.2 Ưu điểm
Mã vạch QR là một loại mã vạch hai chiều có nhiều tính năng ưu việt
do Công ty Denso của Nhật Bản phát minh Mã vạch QR có khả năng
mã hóa nhiều thông tin, giải mã nhanh, khả năng sửa lỗi cao(có thể đọcđược mã bị mờ hoặc mất đi một phần) và có thể mã hóa được ký tự Kanji và chữ tiếng Việt Thông qua việc tích hợp vào các thiết bị điện thoại di động, mã QR đang được các công ty Nhật Bản phát triển thànhcác giải pháp thông minh cho thương mại qua di động…
Một mã QR có thể chứa đựng thông tin một địa chỉ web (URL), thời
gian diễn ra một sự kiện, thông tin liên hệ (như vCard), địa chỉ email, tin nhắn SMS, nội dung ký tự văn bản hay thậm chí là thông tin định vị
vị trí địa lý Tùy thuộc thiết bị đọc mã QR mà bạn dùng khi quét, nó sẽdẫn bạn tới một trang web, gọi đến một số điện thoại, xem một tin nhắn…
1.2.3 Nhược điểm
Những ứng dụng trong tương lai dành cho mã vạch QR code là rất lớn,nhưng mã vạch này cũng có những hạn chế nhất định như sau:
QR code đòi hỏi phải có phần mềm đọc mã trên điện thoại, và nếu mã
này xuất hiện ngoài trời như trên billboard, bến xe… có thể những chướng ngại vật khác sẽ hạn chế khả năng nhận dạng của máy Bạn phải có smart phone tích hợp camera mới đọc được mã
QR code cũng không có tính lan truyền (viral) như hình thức nhắn tin
SMS…
Hơn nữa, tuy QR code cực kỳ phổ biến tại Nhật Bản, song nhìn chung
loại mã này vẫn còn khá mới mẻ Thông thường doanh nghiệp phải giải thích và hướng dẫn khách hàng cách sử dụng
1.2.4 Khả năng lưu trữ của QR code
Số lượng dữ liệu có thể được lưu trữ trong các biểu tượng QR code phụthuộc vào kiểu dữ liệu (hình thức hoặc tập ký tự đầu vào), phiên bản (1,…,40,
mô tả kích thước của QR Code), và mức độ sửa lỗi Khả năng lưu trữ tối đa cho40-L symbols (ở phiên bản 40, mức sửa lỗi là L):
Trang 10Số đơn thuần 7,089 3⅓ 0, 1, 2, 3, 4, 5,
6, 7, 8, 9
0–9, A–Z (chỉchữ hoa), cách, $, %, *,
Trang 111.2.5 Khả năng sửa lỗi
Mức L: 7% số từ mã (codeword) có thể được phục hồi
Sử dụng QR Code để quảng cáo
Pizza Digitale
Trang 12Scholz & Friends, một trong những công ty quảng cáo lớn nhất ở châu Âu,đang tìm kiếm thành viên mới gia nhập đội ngũ sáng tạo kỹ thuật số của họ Nhưcông ty cho biết, "mật ong thu hút nhiều ruồi hơn giấm", vì vậy họ đã cố gắngmột chiến dịch tuyển dụng sáng tạo và quyến rũ - Pizza Digitale - một bánhpizza đặc biệt, đó là trong bốn tuần thêm vào mỗi đơn hàng từ các nhân viên cơquan lớn khác Bánh pizza được che phủ trong nước sốt cà chua, có hình dạnggiống như một mã QR, trực tiếp liên kết đến thông tin về lời mời làm việc Kếtquả - 12 cuộc phỏng vấn việc làm và 2 đội mới cho các đơn vị kỹ thuật số củacác cơ quan
Qkies – bánh QR code có thể ăn được
Trang 13Qkies là một sản phẩm độc đáo được tạo ra bởi công ty thương mại thựcphẩm Đức Juchem Gruppe and DFKI Họ tạo ra những chiếc bánh với mã QR
ăn được có thể được sử dụng cho nhiều thứ Bạn có thể nướng bánh với mã QR
và liên kết chúng đến trang web nào mà bạn muốn
Bánh nướng mã QR
Trang 14Một sản phẩm của tiệm bánh Clevercupcakes tại Montreal Bạn có thể liênkết tới công thức nấu ăn, cửa hàng, sự kiện, dinh dưỡng,v.v…
Mã QR khổng lồ được vẽ trên mái của Facebook HQ
Trang 15Sau khi chuyển đến trụ sở mới ở Menlo Park, nhân viên Facebook đượckhuyến khích bởi Mark Zuckerberg tham gia vào "không gian Hackathon" - làmcho không gian mới cảm thấy như đang ở nhà Tất cả các ý tưởng được chàođón - thẻ các bức tường, treo áp phích v.v… Nhưng Mark Pike làm nó một cáchnghiêm túc - ông muốn làm cho HQ có thể nhìn thấy từ không gian, ông muốnxâm nhập toàn cầu Vì vậy, ông và các nhân viên Facebook đã cùng nhau vẽ nênmột mã QR rộng 42ft trên tầng mái.
Ứng dụng trong nghệ thuật và thiết kế
Mã QR 3D từ gỗ
Nhà thiết kế người Đức Elena Belmann đã tạo ra một khối gỗ và chuyển mã
QR hai chiều thành 3 chiều
Trang 16Mã QR được tạo ra từ các vật dụng hàng ngày
Trang 17Sau khi tung ra trang web mới, David Skyes quyết định ông cần có một cáchmới để nói với mọi người về điều đó Ông ta tạo ra một mã QR rộng 8 ft sửdụng các vật dụng đời thường trong phòng thu của mình.
Mã QR Rubik
Trang 18Mã QR này được tạo ra bởi Ape.IO Có 49 chiếc Rubik được sử dụng và haimàu tương phản là trắng và xanh nước biển.
Trong tương lai, mã vạch QRcode có thể được sử dụng trong các lĩnh vựcnhư:
Sử dụng tại các bến xe bus : người sử dụng khi quét mã QR Code của bến
xe bus sẽ biết thông tin về các chuyến xe sắp tới
Sử dụng tại bảo tàng : người sử dụng chỉ cần quét mã QR Code đặt cạnh vật trưng bày là biết được thông tin chi tiết và cập nhật về đồ vật đó
Sử dụng để mua hàng ở bất kỳ đâu : người sử dụng khi đi tàu điện ngầm,
xe bus … nếu thấy thích mặt hàng đang quảng cáo trên đó có thể đặt mua ngay lập tức thông qua QR Code và Mobile Internet
Sử dụng tại siêu thị : người mua có thể quét mã QR Code để biết được hàm lượng dinh dưỡng của đồ ăn cần mua
Sử dụng tại các hội thảo : người tham gia hội thảo có thể sử dụng QR Code thay cho Business Card của mình
Sử dụng với các tờ báo/tạp chí giấy : người đọc có thể quét mã QR Code được in trong tờ báo/tạp chí giấy để truy cập phiên bản online/mobile của
Trang 19 Sử dụng với đồ vật cá nhân (xe, áo thun…) : để cung cấp thông tin về chủ nhân…
Sử dụng để thu tiền xe ô tô: thay vì việc phải dừng lại ở trạm thu phí, xe ô
tô có thể di chuyển qua trạm với tốc độ vừa phải mà vẫn nộp được phí nếuđược gắn QR Code trên xe
CHƯƠNG 2 ỨNG DỤNG CỦA MÃ QR TRONG GIAO DỊCH
2 Thuật toán Qrcode
2.1 Phân tích dữ liệu
Một mã QR mã hoá một chuỗi văn bản Các mã QR chuẩn có bốn kiểu mãhoá văn bản: số, chữ và số, nhị phân, và Kanji Mỗi kiểu mã hoá văn bản nhưmột chuỗi nhị phân (gồm 1 và 0), nhưng mỗi kiểu sử dụng một phương thứckhác nhau để chuyển đổi văn bản sang chuỗi nhị phân Mỗi phương thức đượctối ưu hoá để tạo ra chuỗi nhị phân ngắn nhất có thể cho một loại dữ liệu Phầnnày giải thích làm thế nào để xác định kiểu để sử dụng
Trang 20- Kiểu nhị phân: kiểu này dành cho bộ ký tự ISO-8859-1
- Kiểu Kanji: cho các ký tự sử dụng 2 byte từ tập ký tự Shift JIS
Cách chọn kiểu dữ liệu hiệu quả nhất
Để chọn kiểu dữ liệu hiệu quả cho mã QR, kiểm tra các ký tự đầu vào theocác điều kiện sau đây:
- Nếu chuỗi đầu vào chỉ gồm các chữ số thập phân, sử dụng kiểu số
- Nếu kiểu số không áp dụng được, và tất cả các ký tự trong chuỗi đầu vào
có thể tìm thấy cột bên trái của bảng chữ và số thì ta chọn kiểu chuỗi
- Nếu có một ký tự không có trong cột bên trái của bảng chữ và số nhưng
có thể mã hoá được theo tiêu chuẩn ISO-8859-1 thì ta sử dụng kiểu nhị phân
- Nếu tất cả các ký tự đều thuộc bộ ký tự Shift JIS thì ta sử dụng kiểu Kanji
2.2 Mã hoá dữ liệu
Bước 1: chọn mức sửa lỗi
Trước khi mã hoá dữ liệu, ta sẽ chọn một mức sửa lỗi Như đã đề cập trongphần tổng quan, mã QR sử dụng bộ sửa lỗi Reed-Solomon Tiến trình này tạo ra
mã sửa lỗi (bytes ) dựa trên dữ liệu đã được mã hoá Một bộ đọc mã QR có thể
sử dụng các byte sửa lỗi để xác định nếu nó không thể đọc dữ liệu một cáchchính xác, và mã sửa lỗi có thể sử dụng để sửa lỗi Có 4 mức sửa lỗi: L, M, Q, H
Trang 21Bước 2: xác định phiên bản nhỏ nhất cho dữ liệu
Các kích cỡ khác nhau của mã QR được gọi là phiên bản chúng có bốn mươiphiên bản Phiên bản nhỏ nhất là 1 (21x21 pixels), phiên bản 2 (25x25 pixels),lớn nhất là phiên bản 40 (177x177 pixels) Mỗi phiên bản lớn hơn phiên bảntrước đó 4 pixels
Mỗi phiên bản có khả năng tối đa nhất định, tuỳ thuộc vào kiểu sử dụng.Ngoài ra, mức độ sửa lỗi hạn chế khả năng tiếp tục Bảng khả năng các ký tự liệt
kê các khả năng của các phiên bản QR cho một kiểu mã hoá nhất định và mứcsửa lỗi
Bước 3: thêm bộ hiển thị kiểu
Mỗi kiểu mã hoá có bốn bit bộ hiển thị kiểu xác định nó Dữ liệu được mãhoá phải bắt đầu với bộ hiển thị kiểu thích hợp xác định kiểu được sử dụng chocác bit đến sau nó Bảng sau liệt kê các bộ hiển thị kiểu cho mỗi kiểu
Ví dụ, nếu mã hoá HELLO WORLD ở kiểu chữ và số, bộ hiển thị kiểu là0010
Trang 22Xem danh sách ở dưới Khi mã hóa độ dài của dữ liệu, chúng ta mã hóa nó
sử dụng một số lượng bit đặc tả Như đã nói ở đầu, chúng ta sử dụng QR codephiên bản 1, vậy nên chúng ta cần sử dụng 9 bit để mã hóa độ dài dữ liệu Tathêm số 0 vào đầu chuỗi cho đên khi đủ 9 bit: 000001011
Phiên bản 1 tới 9
- Kiểu số: 10 bits
- Kiểu chuỗi: 9 bits
- Kiểu nhị phân: 8 bits
- Kiểu số: 14 bits
- Kiểu chuỗi: 13 bits
- Kiểu nhị phân: 16 bits
- Kiểu Nhật ngữ: 12 bits
Tới đây chuỗi nhị phân chúng ta là: 0010 000001011
Trang 23Tiến trình mã hoá theo các kiểu:
Để mã hóa chuỗi ký tự, ta chia chuỗi thành các cặp ký tự:HE,LL,O ,WO,RL,D
Với mỗi cặp ký tự, ta lấy giá trị mã ASCII của ký tự đầu nhân với 45, sau đócộng với giá trị mã ASCII của ký tự sau Sau đó chuyển kết quả thu được thànhmột chuỗi nhị phân 11 bit
Đối với các ký tự không có cặp, tao lấy giá trị mã ASCII của nó rồi chuyểnthành chuỗi nhị phân 6 bit
Đối với các chế độ khác: kiểu số, kiểu nhị phân, kiểu Nhật ngữ, tao sử dụngphương thức khác để mã hóa dữ liệu
Bước 6: hoàn thành các bit
Với chuỗi bit thu được ở trên, ta phải chắc chắn rằng nó có đủ độ dài Điềunày phụ thuộc vào việc có bao nhiêu bit chúng ra cần để tạo phiên bản và sửalỗi
Với QR code phiên bản 1, sửa lỗi mức độ Q Nếu chuỗi bit nhỏ ít hơn 104, taphải thêm 4 số 0 vào cuối chuỗi Nếu thêm 4 số 0 được một chuỗi nhiều hơn
104, ta chỉ cần thêm số 0 cho tới khi nào đủ 104 bit
Chuỗi của chúng ta có 59 bit, ta thêm 4 số 0 vào cuối chuỗi (Còn nếu chuỗi
có 102 bit thì ta thêm 2 số 0)
Chuỗi của ta bây giờ là:
Trang 240010 000001011 01100001011 01111000110 10001011100 10110111000
10011010100 001101 0000
Bước 7: Thêm các từ vào cuối nếu chuỗi quá ngắn
Nếu chuỗi bit của chúng ta vẫn chưa đủ dài, có hai chuỗi con đặc biệt:
11101100 và 00010001 Ta thêm thay phiên hai chuỗi con này vào chuối chuỗicủa chúng ta
Chuỗi của chúng ta chỉ có 10 chuỗi con, cần phải thêm vào 3 chuỗi con nữa.Bắt đầu thêm 11101100, sau đó thêm 00010001, rồi tới 11101100 Nếu cầnnhiều hơn thì cứ thêm lần lượt như vậy cho tới khi đủ số chuỗi con
Chuỗi của chúng ta bây giờ:
00100000 01011011 00001011 01111000 11010001 01110010 11011100
01001101 01000011 01000000 11101100 00010001 11101100
2.3 Tạo mã sửa lỗi
QR code bao gồm bộ mã sửa lỗi Các khối dữ liệu dự phòng đảm bảo rằng
mã QR code vẫn được đọc cho dù có một phần không đọc được
Bước 1: Tìm ra có bao nhiêu mã sửa lỗi cần được tạo
Bước đầu tiên để tạo mã sửa lỗi là xác định có bao nhiêu từ để tạo cho phiênbản QR và mức độ sửa lỗi Tham khảo thêm bảng sửa lỗi
Codewords for
this Version and
EC Level
ECCodewordsPer Block
Number ofBlocks
in Group1
Number
Codewords inEach of Group1's Blocks
TotalData
Trang 251-H 9 17 1 9 (9*1)
= 9
= 34
Xem bảng ở trên, chúng ta cần 13 mã sửa lỗi
Bước 2: Tạo một thông điệp đa thức
Chúng ta chuyển 13 khối dữ liệu ở trên thành dạng thập phân:
Lũy thừa của số hạng đầu tiên được tính:
Số khối dữ liệu + số mã sửa lỗi -1
Ở đây là 13+13-1=25 Vậy nên số hạng đầu tiên là 32x 25
Bước 3: Tạo bộ tạo đa thức
Tiếp theo ta sẽ tạo một bộ tạo đa thức Ta chia thông điệp đa thức bởi bộ tạonày để tạo mã sửa lỗi
Các bộ tạo đa thức đến từ một cái gì đó gọi là một trường hữu hạn , cũngđược biết đến như là một trường Galois Các mã QR sử dụng một trường Galois
có 256 yếu tố, có nghĩa là, mục đích của chúng ta, rằng những con số mà chúng
ta sẽ được giao dịch với sẽ luôn luôn tối đa là 255 và ít nhất là 0
Để thực hiện việc phân chia đa thức, chúng ta sẽ được chuyển đổi qua lạigiữa các ký hiệu α (alpha) và các số nguyên Alpha và các giá trị số nguyên từbảng log và antilog