Sachverhalt: Sachverhalt: A. Am 14. Juli 2000 brach um ca. 13.42 Uhr im Ökonomieteil der Liegenschaft von X._ ein Brand aus, der den Ökonomieteil zerstörte und den Wohntrakt stark beschädigte. Gegen X._ wurde trotz der Tatsache, dass er im Zeitpunkt des Brandausbruchs im Ausland weilte, eine Strafuntersuchung eröffnet, in deren Verlauf er sich während 45 Tagen in Untersuchungshaft befand und sein Telefon überwacht wurde. Die 1. Strafkammer des Obergerichts des Kantons Bern erkannte im Appellationsverfahren am 20. Juni 2002 (in Bestätigung des Urteils des Kreisgerichts V Burgdorf-Fraubrunnen vom 11. Dezember 2001) X._ der Brandstiftung und des Betrugsversuchs schuldig und verurteilte ihn zu 15 Monaten Zuchthaus mit bedingtem Strafvollzug. Sie sah es als erwiesen, dass er in der Tenne eine grössere Menge Benzin ausgeschüttet und das durch Vermischung mit Umgebungsluft entstandene zündfähige Gemisch mittels einer zeitverzögerten Zündvorrichtung in Brand gesetzt hatte, was zu einer heftigen Explosion mit anschliessendem Brand führte. Er habe dies in der Absicht ausgeführt, vom Mobiliarversicherer durch arglistige Täuschung über die Brandursache die Auszahlung der Versicherungssumme zu erwirken (Urteil vom 20. Juni 2002, S. 34). Ein gegen dieses Urteil eingereichtes (erstes) Revisionsgesuch wurde vom Kassationshof des Kantons Bern am 29. Oktober 2002 abgewiesen. Das Gesuch war mit einem Schreiben von Fürsprecher und Notar A._ begründet worden, nach welchem eine anonyme Person erklärt hatte, X._ habe diesen Brand nicht gelegt (angefochtenes Urteil S. 3, Ziff. 5, 7). Das Bundesgericht wies am 9. Januar 2003 eine staatsrechtliche Beschwerde gegen das Urteil des Obergerichts vom 20. Juni 2002 ab, soweit es darauf eintrat (BGE 1P.461/2002 vom 9. Januar 2003, teilweise veröffentlicht in Pra 2003 S. 448). Das Bundesgericht wies am 9. Januar 2003 eine staatsrechtliche Beschwerde gegen das Urteil des Obergerichts vom 20. Juni 2002 ab, soweit es darauf eintrat (BGE 1P.461/2002 vom 9. Januar 2003, teilweise veröffentlicht in Pra 2003 S. 448). B. X._ reichte am 22. September 2003 ein (zweites) Revisionsgesuch beim Kassationshof des Obergerichts des Kantons Bern ein. Darin wurde geltend gemacht, in der Zwischenzeit habe sich der anonyme Zeuge offenbart. Es handle sich um B._. Ihm gegenüber habe sein ehemaliger Mitarbeiter, der inzwischen verstorbene C._, zugegeben, diesen Brand gelegt zu haben (angefochtenes Urteil S. 4 f., Ziff. 9). Der Kassationshof des Obergerichts holte beim Wissenschaftlichen Dienst der Stadtpolizei Zürich ein Gutachten vom 3. März 2004 (kantonale Akten, act. 46 ff.) und auf Antrag des Gesuchstellers ein Ergänzungsgutachten vom 5. Juli 2004 ein (act. 65b ff.). Mit Urteil vom 21. Januar 2005 wurde das Revisionsgesuch abgewiesen. Der Kassationshof des Obergerichts holte beim Wissenschaftlichen Dienst der Stadtpolizei Zürich ein Gutachten vom 3. März 2004 (kantonale Akten, act. 46 ff.) und auf Antrag des Gesuchstellers ein Ergänzungsgutachten vom 5. Juli 2004 ein (act. 65b ff.). Mit Urteil vom 21. Januar 2005 wurde das Revisionsgesuch abgewiesen. C. X._ erhebt staatsrechtliche Beschwerde mit dem Antrag, das Urteil des Obergerichts vom 21. Januar 2005 aufzuheben, sowie eidgenössische Nichtigkeitsbeschwerde mit dem Antrag, das Urteil aufzuheben und zur neuen Beurteilung an eine andere erste Instanz zurückzuweisen. In beiden Rechtsmitteln beantragt er die unentgeltliche Rechtspflege. Der Kassationshof des Obergerichts des Kantons Bern beantragt in seinen Gegenbemerkungen die Abweisung der Beschwerden, soweit darauf einzutreten sei. 