Ich komme ja eigentlich aus der Informatik, daher war ich vor gut 15 Jahren einmal auf ein Paper von Matt Blaze gestoßen, der einen Algorithmus beschreibt, mit dem man sich für stiftbasierte Generalschlüsselanlagen einen GHS herstellen kann, wenn folgende Voraussetzungen erfüllt sind:
1.) man hat Zugriff auf einen Einzelschlüssel der Anlage
2.) man verfügt über eine ausreichende Menge von Rohlingen für diese Anlage (wieviele genau man da zu erwarten hat, rechnet er auch vor)
3.) man hat Zugang zu einem Schloss der Anlage
4.) man kennt das Design dieses Zylindertyps, also welche möglichen Schnitttiefen des Schlüssels es für jede Stiftposition gibt (und man kann den Schlüssel dann auch dementsprechend schneiden)
Dann kann man mit überschaubar vielen Versuchen Testschlüssel bauen, um dann am Ende alle korrekten Einschnitte für den GHS zu ermitteln. Den Verbrauch an Rohlingen kann man dabei sogar noch optimieren, wenn man vor Ort den Schlüssel immer wieder nachschneiden kann.
Wie klappt das in der Praxis?
Ein Angreifer, der den GHS einer Anlage ermitteln möchte, könnte (1.) erledigen, indem er sich einen Einzelschlüssel ausleiht (oder ohnehin schon hat). Man könnte zB in das Gebäude gehen, ein dringendes Bedürfnis anmelden und vielleicht leiht einem der Empfang dann einen Toilettenschlüssel. Damit kann man dann auch (4.) erledigen, zumindest weiß man dann schon mal, welcher Rohling benötigt wird. Diesen Leihschlüssel sollte man dann natürlich gleich vor Ort vermessen und sich dann im Nachgang die Rohlinge besorgen (2.) und die möglichen Einschnitttiefen recherchieren. Die Toilette kann man dann später natürlich auch gut für (3.) nutzen, um die Testschlüssel in Ruhe auszuprobieren.
Das Verfahren funktioniert vereinfacht beschrieben so, dass man sich eine Menge von Testschlüsseln baut. Dabei iteriert man über alle Stifte und bei jedem Stift baut man sich Testschlüssel für alle möglichen Einschnitttiefen. Die Schnitttiefe des Einzelschlüssels lässt man dabei weg. Und die Einschnitte für alle anderen Stifte belässt man dabei genauso wie beim Einzelschlüssel.
Von diesen Testschlüsseln sollte genau einer das Schloss schließen: Das ist dann für diesen Stift die GHS-Einschnitttiefe (vorausgesetzt, dieser Stift ist "gemastert", also ein für den GHS unterteilter Stift; ansonsten nimmt man da halt die Schnitttiefe des Einzelschlüssels, denn die hat der GHS da ja dann auch.)
So erhält man am Ende, wenn man das für alle Stifte gemacht hat, die Einschnitttiefen für alle Einschnitte des GHS.
Natürlich kann man auch einen HS oder Gruppenschlüssel in komplexeren Anlagen erwischen, aber das merkt man dann ja daran, dass auf einer Stiftposition mehrere Testschlüssel schließen. Im Endeffekt wird man dann aus dem Wissen eine überschaubare Menge von "GHS-Kandidaten" bauen und muss dann nur noch an mehreren Schlössern der Anlage ausprobieren, welcher davon bei allen passt und das ist dann der GHS.
Das ganze Paper findet man hier auf Matt Blazes Webseite:
https://www.mattblaze.org/papers/mk.pdf