Faits : A. Le 6 janvier 2019, B._ a déposé plainte pénale contre inconnu pour viol. En substance, elle a expliqué que son agresseur l'aurait, le jour même au petit matin, abordée, puis raccompagnée jusqu'à la porte de son appartement. L'individu lui aurait ensuite sauté dessus, l'aurait déshabillée, puis contrainte à subir, malgré plusieurs refus, ses cris et ses mouvements de résistance, une relation sexuelle complète, entre autres actes d'ordre sexuel. Le 8 janvier 2019, le Ministère public de l'arrondissement de l'Est vaudois a ouvert une instruction pénale en raison de ces faits. Le 25 janvier 2019, la police a appréhendé A._, alors que les prélèvements ADN effectués sur le corps de la plaignante avaient permis d'identifier celui-ci comme étant son agresseur. Entendu par la police puis le Ministère public le jour de son arrestation, A._ a en substance expliqué avoir eu une relation sexuelle consentie avec la plaignante. Par ordonnance du 26 janvier 2019, le Tribunal des mesures de contraintes (Tmc) a ordonné la détention provisoire de A._ et a fixé la durée maximale de la détention provisoire à un mois, soit au plus tard jusqu'au 25 février 2019. Cette ordonnance a été confirmée par arrêt de la Chambre des recours pénale du Tribunal cantonal vaudois du 8 février 2019. B. Par ordonnance du 25 février 2019, le Tmc a ordonné la prolongation de la détention provisoire du prévenu dont il a fixé la durée maximale à trois mois, soit au plus tard jusqu'au 25 mai 2019. Statuant sur recours de l'intéressé, la Chambre des recours pénale du Tribunal cantonal a confirmé cette décision par arrêt du 13 mars 2019. C. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral de réformer l'arrêt cantonal en ce sens qu'il est immédiatement libéré. Subsidiairement, il demande la mise en place des mesures de substitution suivantes: dépôt de toutes ses pièces d'identité, obligation de se présenter régulièrement - soit plusieurs fois par semaine - auprès du poste de gendarmerie de Gland, mise en place d'une surveillance électronique, versement d'une caution de 20'000 francs par sa famille ou toute autre mesure de substitution jugée utile par le Tribunal fédéral. Il sollicite en outre l'octroi de l'assistance judiciaire. La cour cantonale renonce à se déterminer et se réfère aux considérants de son arrêt. Le Ministère public conclut au rejet du recours. Le recourant réplique et persiste dans ses conclusions.