Độ mạnh của mật khẩu
Mật khẩu mạnh

Một mật khẩu mạnh là một mật khẩu đủ dài, mang tính ngẫu nhiên, hoặc nếu không chỉ có người chọn nó mới nghĩ ra được, sao cho việc đoán được ra nó sẽ phải cần nhiều thời gian hơn là thời gian mà một kẻ bẻ khóa mật khẩu sẵn sàng bỏ ra để đoán nó. Thời gian để được cho là quá dài sẽ thay đổi tùy thuộc vào kẻ tấn công, tài nguyên của kẻ tấn công, sự dễ dàng tiếp cận với những mật khẩu có thể thử, và giá trị của mật khẩu đó đối với kẻ tấn công. Một mật khẩu của sinh viên chẳng đáng để máy tính bỏ ra vài giây để đoán, trong khi mật khẩu quản lý việc truy xuất đến hệ thống chuyển tiền điện tử của một ngân hàng lớn có thể đáng để bỏ ra nhiều tuần hoặc thậm chí nhiều tháng để đoán.
Sẽ là một điều sai lầm khi dùng những mật khẩu liệt kê ở dưới đây: chúng đã được ghi ra công khai, do đó chúng yếu. Tất cả những bình luận về sức mạnh mật khẩu đều giả thiết rằng chúng chưa được biết đến và chưa được ghi ra. Trong khi các mật khẩu tương tự như thế, hoặc dựa trên cùng nguyên lý như thế, sẽ đủ mạnh, với giả sử là bạn không đọc chúng.
Các ví dụ về mật khẩu mạnh là:
t3wahSetyeT4 -- phân biệt chữ thường chữ hoa và chữ số xen kẽ
4pRte!ai@3—phân biệt chữ thường chữ hoa, chữ số xen kẽ, dấu câu và một ký tự "đặc biệt"
MoOoOfIn245679—phân biệt chữ thường chữ hoa, chữ số xen kẽ
Convert_100£ to Euros!—cụm từ có thể dài, dễ nhớ và có chứa ký hiệu mở rộng để tăng sức mạnh, nhưng một số phương pháp băm mật khẩu yếu hơn có thể phụ thuộc vào phân tích tần số
1382465304H—một chuỗi số kết thúc bằng một ký tự
Tp4tci2s4U2g!—Sự pha trộn của các ký tự có kiểu chữ khác nhau, số, và dấu câu. Nó dễ nhớ vì là các chữ bắt đầu của từ "The password for this computer is too strong for you to guess!"
5:*35pm&8/30—Thời gian và ngày tháng điện thoại với hai ký tự "đặc biệt" ngẫu nhiên
EPOcsoRYG5%4pp@.djr—sử dụng nhiều yếu tố bao gồm viết hoa và ký tự đặc biệt
BBslwys90!—gồm chữ hoa, số, và dấu câu. Cũng dễ nhớ, vì nó đại diện cho "Big Brother is always right (90°)!"
Một cách kỹ thuật thì những ví dụ trên đều có tính hỗn loạn thông tin (về bit) là lớn hơn 3 trong khi các ví dụ yếu có độ hỗn loạn thông tin dưới 3  Lưu trữ 2010-07-30 tại Wayback Machine. Nhưng là một vấn đề kỹ thuật, độ mạnh mật khẩu có thể thỏa mãn một mục đích sức mạnh của nó nếu thời gian cần thiết để phá vỡ mật khẩu vượt quá thời gian có thể bỏ ra để phá vỡ nó và/hoặc nếu thông tin được bảo vệ sẽ cũ trước khi những nỗ lực bẻ khóa hoàn thành.
Mật khẩu càng dài và lựa chọn ký hiệu càng rộng, thì nỗ lực để bẻ một mật khẩu (hoặc so trùng với bảng cầu vồng) càng phải mạnh mẽ mới có thể đánh bại mật khẩu, giả thiết rằng bảng băm mật khẩu và các phương pháp bảo vệ phù hợp nằm đúng chỗ của nó. Hơn nữa, không sử dụng từ đơn sẽ khiến cho tấn công vét cạn vô cùng kém hiệu quả.
Chú ý rằng một số hệ thống không cho phép ký hiệu hoặc những ký tự gọi là "ký tự đặc biệt" như #, @ và } trong mật khẩu, và hơn nữa chúng có thể khó tìm trong những kiểu bàn phím khác nhau. Trong trường hợp đó, chỉ cần thêm một số chữ hoặc số cũng có thể đạt được độ bảo mật tương đương: vừa chữ vừa số với chỉ một kiểu viết in hoặc viết thường cho ra 36 chữ khả dĩ, nhưng viết cả hoa cả thường cùng với số có thể cho ra 62 chữ khả dĩ.
Ngoài ra, những ví dụ ở trên, đã được in ra trong bài viết này như những ví dụ về mật khẩu, thì không còn là lựa chọn tốt; những ví dụ từ những cuộc bàn luận công cộng về mật khẩu cũng là những ứng viên rõ ràng để bị đưa vào tự điển dùng cho tấn công từ điển. Tuy nhiên, nhận thức được rằng thậm chí mật khẩu "mạnh" (theo những tiêu chuẩn hạn chế trên), và mật khẩu cá biệt của người dùng, là không tương đương với khóa mã hóa mạnh, và không nên dùng để làm việc đó, nếu không vì mục đích nào khác hơn là chúng không chứa các ký tự in được. Phương pháp cụm từ thông qua và thỏa thuận khóa xác nhận mật khẩu đã được dùng để nói lên hạn chế này.
Một dạng mật khẩu mạnh khác là một từ được ngẫu nhiên hoàn toàn hoặc một phần với chữ in thường khá nhau và một hoặc nhiều số hoặc ký hiệu được dùng thêm vào. Mật khẩu kiểu đóm trong khi hầu như toàn chữ và người dùng dễ nhớ, rất dài và cần phải có bộ sinh mật khẩu vét cạnh để kiểm thử tất cả các ký tự ở tất cả các kiểu chữ cũng như tất cả các số và ký hiệu bàn phiếu ở mỗi ký số, vì ký hiệu và con số có thể nằm ở bất cứ đâu trong một chữ. Như đã nói ở đoạn dưới, điều này sẽ đánh bại tấn công vét cạn với tài nguyên thực tế.
Mật khẩu có thể tìm thấy bằng các sử dụng một bộ máy sinh mật khẩu vét cạn như thế. Trong trường hợp đơn giản nhất, chúng là những chương trình nhỏ chỉ đơn giản là thử tất cả các tổ hợp có thể. Một bộ xử lý 3 GHz có thể tạo ra xấp xỉ 3 triệu mật khẩu một giây. Một mật khẩu mười chữ cái như '4pRte!ai@3', vì có khoảng 95 khóa tồn tại, là một trong  95^{10} khả năng, và sẽ phải tốn khoảng 632.860 năm để tìm ra với giả sử mật khẩu đó được tạo ra ngẫu nhiên. Một mật khẩu chứa mười lăm chữ cái viết hoa ngẫy nhiên sẽ chỉ an toàn tương đương (với điều kiện hệ thống đang bàn tới là có phân biệt hoa thường và cho phép dùng ký hiệu) và có thể dễ hơn đối với vài người để nhớ và gõ vào.
Tuy nhiên, phương pháp băm mật khẩu yếu nào đó có thể phản bội một mật khẩu còn nhanh hơn bằng cách giảm số tổ hợp cần thiết hoặc tăng tốc độ mà tại đó sự tiên đoán có thể bị từ chối bẻ một mật khẩu "mạnh" khác. Hơn nữa, những bảng được tính trước nào đó như bảng cầu vồng có thể tăng tốc độ bẻ khóa đáng kể.
Một hàm tính toán số mật khẩu khả dĩ là:  maximumCombinations=nrAvailableChars^{PasswordLength}. Chỉ sử dụng 26 ký tự chữ thường và mật khẩu dài 7 ký tự thì số tổ hợp khá nhỏ:  26^{7}=8.03 tỷ tổ hợp. Điều đó có vẻ lớn đối với vài người, nhưng trong một thời gian khi những máy tính thông thường có thể sinh ra 3 triệu mật khẩu một giây, nó sẽ chỉ mất có 45 phút để tìm ra mật khẩu.
Mật khẩu dài hơn 7 ký tự sử dụng từ không có trong từ điển do đó thường được xem là mật khẩu 'mạnh'. Tuy nhiên, đa số người dùng máy tính không để ý đến điều này, một phần vì chúng khó nhớ.
Một ví dụ đơn giản có thể dùng để điều tra sức kháng cự của mật khẩu đối với tìm kiếm vét cạn. Thí nghiệm với chương trình này sẽ làm rõ hơn một mật khẩu như apple dễ khám phá đến mức nào, vì nó có thể được tìm ra với chỉ chưa đến 30 giây bằng cách tiếp cận cực kỳ đơn giản.